---------------------------------------------------------------
| 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 ) |
nothing calls this directly
no test coverage detected