35 _vertices =
new NxVec3[numVertices];
37 _desc.numVertices = numVertices;
38 _desc.points = _vertices;
48 nassertv(_desc.numVertices > idx);
60 if (_desc.triangles) {
64 if (_desc.materialIndices) {
68 _triangles =
new NxU32[3 * numTriangles];
70 _desc.numTriangles = numTriangles;
71 _desc.triangles = _triangles;
73 if (use_material_indices ==
true) {
74 _materials =
new NxMaterialIndex[numTriangles];
75 _desc.materialIndices = _materials;
84 unsigned int i1,
unsigned int i2,
unsigned int i3,
85 unsigned int material_index) {
87 nassertv(_desc.numTriangles > idx);
89 if (_desc.materialIndices) {
90 _materials[idx] = (NxMaterialIndex) material_index;
95 _triangles[idx + 1] = i2;
96 _triangles[idx + 2] = i3;
102 const NxTriangleMeshDesc &PhysxTriangleMeshDesc::
129 CPT(
Geom) geom = gnode->get_geom(j);
140 for (
int k=0; k<geom->get_num_primitives(); k++) {
143 prim = prim->decompose();
145 for (
int l=0; l<prim->get_num_primitives(); l++) {
147 int s = prim->get_primitive_start(l);
148 int e = prim->get_primitive_end(l);
150 for (
int l=s; l<e; l++) {
151 dataIndices.push_back(prim->get_vertex(l));
161 NxU32 numVertices = dataVertices.size();
162 NxU32 numTriangles = dataIndices.size() / 3;
164 _vertices =
new NxVec3[numVertices];
165 _triangles =
new NxU32[3 * numTriangles];
169 for (vit=dataVertices.begin(); vit!=dataVertices.end(); vit++) {
172 _vertices[i].x = v.get_x();
173 _vertices[i].y = v.get_y();
174 _vertices[i].z = v.get_z();
180 for(iit=dataIndices.begin(); iit!=dataIndices.end(); iit++) {
187 _desc.numVertices = numVertices;
188 _desc.points = _vertices;
189 _desc.numTriangles = numTriangles;
190 _desc.triangles = _triangles;