private int TestCollisionForSingleTriangle(int ctContacts0, int Triint, DVector3 dv[], RefBoolean bOutFinishSearching) { // test this triangle _cldTestOneTriangle(dv[0],dv[1],dv[2],Triint); // fill-in tri index for generated contacts for (; ctContacts0 < m_ctContacts.i; ctContacts0++) { //DContactGeom pContact = SAFECONTACT(m_iFlags, m_ContactGeoms, ctContacts0, m_iStride); DContactGeom pContact = m_ContactGeoms.getSafe(m_iFlags, ctContacts0); pContact.side1 = Triint; pContact.side2 = -1; } /* NOTE by Oleh_Derevenko: The function continues checking triangles after maximal number of contacts is reached because it selects maximal penetration depths. See also comments in GenerateContact() */ bOutFinishSearching.b = ((m_ctContacts.i | CONTACTS_UNIMPORTANT) == (m_iFlags & (DxGeom.NUMC_MASK | CONTACTS_UNIMPORTANT))); return ctContacts0; }
private int TestCollisionForSingleTriangle(int ctContacts0, int Triint, DVector3 dv[], RefBoolean bOutFinishSearching) { // test this triangle _cldTestOneTriangle(dv[0],dv[1],dv[2],Triint); // fill-in tri index for generated contacts for (; ctContacts0 < m_ctContacts.i; ctContacts0++) { //DContactGeom pContact = SAFECONTACT(m_iFlags, m_ContactGeoms, ctContacts0, m_iStride); DContactGeom pContact = m_ContactGeoms.getSafe(m_iFlags, ctContacts0); pContact.side1 = Triint; pContact.side2 = -1; } /* NOTE by Oleh_Derevenko: The function continues checking triangles after maximal number of contacts is reached because it selects maximal penetration depths. See also comments in GenerateContact() */ bOutFinishSearching.b = ((m_ctContacts.i | CONTACTS_UNIMPORTANT) == (m_iFlags & (DxGeom.NUMC_MASK | CONTACTS_UNIMPORTANT))); return ctContacts0; }
Contact = contacts.getSafe(m_iFlags, nFinalContact); Contact.depth = m_gLocalContacts[iContact].fDepth;
Contact = contacts.getSafe(m_iFlags, nFinalContact); Contact.depth = m_gLocalContacts[iContact].fDepth;
pcontact = contacts.getSafe(flags, i);//SAFECONTACT(flags, contacts, i, skip);
pcontact = Contacts.getSafe(Flags, i);//SAFECONTACT(Flags, Contacts, i, Stride); ptrimeshcontact = ptrimeshcontacts.at(i);
pcontact = contacts.getSafe(flags, i);//SAFECONTACT(flags, contacts, i, skip);
pcontact = Contacts.getSafe(Flags, i);//SAFECONTACT(Flags, Contacts, i, Stride); ptrimeshcontact = ptrimeshcontacts.at(i);
DContactGeom target = contactBuf.getSafe(flags, contacts);
DContactGeom target = contactBuf.getSafe(flags, contacts);
pcontact = Contacts.getSafe(Flags, i);//SAFECONTACT(Flags, Contacts, i, Stride);
pcontact = Contacts.getSafe(Flags, i);//SAFECONTACT(Flags, Contacts, i, Stride);
pcontact = contacts.getSafe(flags, i);//SAFECONTACT(flags, contact, i, skip);
pcontact = contacts.getSafe(flags, i);//SAFECONTACT(flags, contact, i, skip);
DContactGeom target = contacts.getSafe(flags, curc.get());;
DContactGeom target = contacts.getSafe(flags, curc.get());;