Get all geometry attached to this node
| 140 | |
| 141 | // Get all geometry attached to this node |
| 142 | void ColladaAppNode::buildMeshList() |
| 143 | { |
| 144 | // Process children: collect <instance_geometry> and <instance_controller> elements |
| 145 | for (S32 iChild = 0; iChild < p_domNode->getContents().getCount(); iChild++) { |
| 146 | |
| 147 | daeElement* child = p_domNode->getContents()[iChild]; |
| 148 | switch (child->getElementType()) { |
| 149 | |
| 150 | case COLLADA_TYPE::INSTANCE_GEOMETRY: |
| 151 | { |
| 152 | // Only <geometry>.<mesh> instances are supported |
| 153 | domInstance_geometry* instanceGeom = daeSafeCast<domInstance_geometry>(child); |
| 154 | if (instanceGeom) { |
| 155 | domGeometry* geometry = daeSafeCast<domGeometry>(instanceGeom->getUrl().getElement()); |
| 156 | if (geometry && geometry->getMesh()) |
| 157 | mMeshes.push_back(new ColladaAppMesh(instanceGeom, this)); |
| 158 | } |
| 159 | break; |
| 160 | } |
| 161 | |
| 162 | case COLLADA_TYPE::INSTANCE_CONTROLLER: |
| 163 | mMeshes.push_back(new ColladaAppMesh(daeSafeCast<domInstance_controller>(child), this)); |
| 164 | break; |
| 165 | } |
| 166 | } |
| 167 | } |
| 168 | |
| 169 | bool ColladaAppNode::animatesTransform(const AppSequence* appSeq) |
| 170 | { |
nothing calls this directly
no test coverage detected