Rigid Body Kinematics and C++ Code    -     Frequently Asked Questions

What is a cross-reference?

I have downloaded a sample of the eBook but the cross-references don't work. Why?

Is this product available on CD?
The method CStr::Find (class CStr, method Find)  is not working properly.

 

 

I have downloaded a sample of the eBook but the cross-references don't work. Why?

The free sample includes only a few pages of the eBook. A cross-reference that links to a page that's not included will not work, or it may jump to the wrong page.  To top


 

What is a cross-reference?

A cross-reference is an internal link, a live link or jump to a destination in the same document. Cross-references make it easy to find information and navigate between subjects. The Table of Contents and the Index use cross-references. In addition, there are many cross-references in the text itself that target other sections of the eBook, equations, figures, bibliographic references, code snippets, definitions, etc. You can easily return to where you were before the jump. For example, in Adobe Reader, you can use Alt-left arrow for that purpose, even repeatedly.

Cross-references are identified by blue text. In contrast, regular links that link to external web pages, are identified in emerald. To top


 

Is this product available on CD?

Yes. The CD includes the eBook as a PDF file and all the C++ files. To top


The method CStr::Find (class CStr, method Find)  is not working properly.

There is a bug in the code. It is easy to fix. The correct code is as follows:

int CStr::Find(const CStr & s, int nStart)const{
    ASSERT(nStart >= 0 && nStart < NumberCharacters);
     if(nStart < 0 || nStart >= NumberCharacters)return -1;
    const char * r = s.GetRangeString();
    char * p = strstr(MainString + Offset + nStart, r);
    if(p == NULL)return -1;
    int k = int(p - MainString) - Offset;
    if((k + s.GetNumberCharacters()) > NumberCharacters)return -1;
    ASSERT(k >= 0 && k < NumberCharacters);
    return k;
}

To top