void dgCollisionTaperedCapsule::Serialize(dgSerialize callback, void* const userData) const { dgVector size (m_radio0, m_radio1, dgFloat32 (2.0f) * m_height, dgFloat32 (0.0f)); SerializeLow(callback, userData); callback (userData, &size, sizeof (dgVector)); }
void dgCollisionConvexHull::Serialize(dgSerialize callback, void* const userData) const { SerializeLow(callback, userData); callback (userData, &m_vertexCount, sizeof (dgInt32)); callback (userData, &m_vertexCount, sizeof (dgInt32)); callback (userData, &m_faceCount, sizeof (dgInt32)); callback (userData, &m_edgeCount, sizeof (dgInt32)); callback (userData, &m_boundPlanesCount, sizeof (dgInt32)); callback (userData, &m_destructionImpulse, sizeof (dgFloat32)); callback (userData, m_vertex, m_vertexCount * sizeof (dgVector)); for (dgInt32 i = 0; i < m_edgeCount; i ++) { dgInt32 serialization[4]; serialization[0] = m_simplex[i].m_vertex; serialization[1] = dgInt32 (m_simplex[i].m_twin - m_simplex); serialization[2] = dgInt32 (m_simplex[i].m_next - m_simplex); serialization[3] = dgInt32 (m_simplex[i].m_prev - m_simplex); callback (userData, serialization, sizeof (serialization)); } for (dgInt32 i = 0; i < m_faceCount; i ++) { dgInt32 faceOffset; faceOffset = dgInt32 (m_faceArray[i] - m_simplex); callback (userData, &faceOffset, sizeof (dgInt32)); } }
void dgCollisionChamferCylinder::Serialize(dgSerialize callback, void* const userData) const { dgVector size (m_radius + m_height, m_height * dgFloat32 (2.0f), dgFloat32 (0.0f), dgFloat32 (0.0f)); SerializeLow(callback, userData); callback (userData, &size, sizeof (dgVector)); }
void dgCollisionScene::Serialize(dgSerialize callback, void* const userData) const { dgInt32 data[4]; SerializeLow(callback, userData); data[0] = m_list.GetCount(); data[1] = 0; data[2] = 0; data[3] = 0; callback (userData, &data, sizeof (data)); for (dgList<dgProxy*>::dgListNode* node = m_list.GetFirst(); node; node = node->GetNext()) { dgProxy* const proxy = node->GetInfo(); callback (userData, &proxy->m_matrix, sizeof (dgMatrix)); callback (userData, &proxy->m_userData, sizeof (void*)); m_world->Serialize (proxy->m_shape, callback, userData); } }
void dgCollisionConvexHull::Serialize(dgSerialize callback, void* const userData) const { SerializeLow(callback, userData); callback (userData, &m_vertexCount, sizeof (dgInt32)); callback (userData, &m_vertexCount, sizeof (dgInt32)); callback (userData, &m_faceCount, sizeof (dgInt32)); callback (userData, &m_edgeCount, sizeof (dgInt32)); callback (userData, &m_supportTreeCount, sizeof (dgInt32)); if (m_supportTreeCount) { callback (userData, m_supportTree, m_supportTreeCount * sizeof(dgConvexBox)); } callback (userData, m_vertex, m_vertexCount * sizeof (dgVector)); for (dgInt32 i = 0; i < m_edgeCount; i ++) { dgInt32 serialization[4]; serialization[0] = m_simplex[i].m_vertex; serialization[1] = dgInt32 (m_simplex[i].m_twin - m_simplex); serialization[2] = dgInt32 (m_simplex[i].m_next - m_simplex); serialization[3] = dgInt32 (m_simplex[i].m_prev - m_simplex); callback (userData, serialization, sizeof (serialization)); } for (dgInt32 i = 0; i < m_faceCount; i ++) { dgInt32 faceOffset; faceOffset = dgInt32 (m_faceArray[i] - m_simplex); callback (userData, &faceOffset, sizeof (dgInt32)); } for (dgInt32 i = 0; i < m_vertexCount; i ++) { dgInt32 faceOffset; faceOffset = dgInt32 (m_vertexToEdgeMapping[i] - m_simplex); callback (userData, &faceOffset, sizeof (dgInt32)); } }
void dgCollisionSphere::Serialize(dgSerialize callback, void* const userData) const { SerializeLow(callback, userData); callback (userData, &m_radius, sizeof (m_radius)); }
void dgCollisionBVH::Serialize(dgSerialize callback, void* const userData) const { SerializeLow(callback, userData); dgAABBPolygonSoup::Serialize ((dgSerialize) callback, userData); }
void dgCollisionBox::Serialize(dgSerialize callback, void* const userData) const { SerializeLow(callback, userData); dgVector size (m_size[0].Scale3 (dgFloat32 (2.0f))); callback (userData, &size, sizeof (dgVector)); }
void dgCollisionNull::Serialize(dgSerialize callback, void* const userData) const { SerializeLow(callback, userData); }