| 1131 | //----------------------------------------------------- |
| 1132 | |
| 1133 | S32 TSMesh::getNumPolys() const |
| 1134 | { |
| 1135 | S32 count = 0; |
| 1136 | for ( S32 i = 0; i < mPrimitives.size(); i++ ) |
| 1137 | { |
| 1138 | switch (mPrimitives[i].matIndex & TSDrawPrimitive::TypeMask) |
| 1139 | { |
| 1140 | case TSDrawPrimitive::Triangles: |
| 1141 | count += mPrimitives[i].numElements / 3; |
| 1142 | break; |
| 1143 | |
| 1144 | case TSDrawPrimitive::Fan: |
| 1145 | count += mPrimitives[i].numElements - 2; |
| 1146 | break; |
| 1147 | |
| 1148 | case TSDrawPrimitive::Strip: |
| 1149 | // Don't count degenerate triangles |
| 1150 | for ( S32 j = mPrimitives[i].start; |
| 1151 | j < mPrimitives[i].start+ mPrimitives[i].numElements-2; |
| 1152 | j++ ) |
| 1153 | { |
| 1154 | if ((mIndices[j] != mIndices[j+1]) && |
| 1155 | (mIndices[j] != mIndices[j+2]) && |
| 1156 | (mIndices[j+1] != mIndices[j+2])) |
| 1157 | count++; |
| 1158 | } |
| 1159 | break; |
| 1160 | } |
| 1161 | } |
| 1162 | return count; |
| 1163 | } |
| 1164 | |
| 1165 | //----------------------------------------------------- |
| 1166 |
no test coverage detected