MCPcopy Create free account
hub / github.com/KhronosGroup/OpenCOLLADA / getPrimitiveCount

Method getPrimitiveCount

COLLADAFramework/src/COLLADAFWMesh.cpp:65–109  ·  view source on GitHub ↗

---------------------------------------------------------------

Source from the content-addressed store, hash-verified

63
64 //---------------------------------------------------------------
65 size_t Mesh::getPrimitiveCount( MeshPrimitive::PrimitiveType primitiveType )
66 {
67 size_t primitiveCount = 0;
68 for ( size_t i = 0, count = mMeshPrimitives.getCount(); i < count; ++i)
69 {
70 MeshPrimitive* primitive = mMeshPrimitives[i];
71
72 if ( primitive && ( primitive->getPrimitiveType() == primitiveType ) )
73 {
74 switch ( primitiveType )
75 {
76 case MeshPrimitive::TRIANGLES:
77 case MeshPrimitive::LINES:
78 case MeshPrimitive::POLYGONS:
79 case MeshPrimitive::POLYLIST:
80 primitiveCount += primitive->getFaceCount();
81 break;
82 case MeshPrimitive::TRIANGLE_STRIPS:
83 {
84 Tristrips* tristrips = (Tristrips*)primitive;
85 primitiveCount += tristrips->getTristripCount();
86 }
87 break;
88 case MeshPrimitive::TRIANGLE_FANS:
89 {
90
91 // TODO not implemented
92 //Tristrips* tristrips = (Tristrips*)primitive;
93 //primitiveCount += tristrips->getTristripCount();
94 }
95 break;
96 case MeshPrimitive::LINE_STRIPS:
97 {
98 Linestrips* linestrips = (Linestrips*)primitive;
99 primitiveCount += linestrips->getLinestripCount ();
100 }
101 break;
102 case MeshPrimitive::UNDEFINED_PRIMITIVE_TYPE:
103 default:
104 break;
105 }
106 }
107 }
108 return primitiveCount;
109 }
110
111 //----------------------------------
112 size_t Mesh::getFaceCount( MeshPrimitive::PrimitiveType primitiveType )

Callers

nothing calls this directly

Calls 5

getPrimitiveTypeMethod · 0.80
getTristripCountMethod · 0.80
getLinestripCountMethod · 0.80
getCountMethod · 0.45
getFaceCountMethod · 0.45

Tested by

no test coverage detected