* This struct describes a glTF node object. * A node represents an object within a scene. * Nodes can contain transform properties (stored as vtkMatrix4x4 objects) as well as indices to * children nodes, forming a hierarchy. No node may be a direct descendant of more than one node. */
| 213 | * children nodes, forming a hierarchy. No node may be a direct descendant of more than one node. |
| 214 | */ |
| 215 | struct Node |
| 216 | { |
| 217 | std::vector<int> Children; |
| 218 | int Camera; |
| 219 | int Mesh; |
| 220 | int Skin; |
| 221 | |
| 222 | vtkSmartPointer<vtkMatrix4x4> Transform; |
| 223 | vtkSmartPointer<vtkMatrix4x4> GlobalTransform; |
| 224 | |
| 225 | bool TRSLoaded; |
| 226 | |
| 227 | vtkSmartPointer<vtkMatrix4x4> Matrix; |
| 228 | |
| 229 | std::vector<float> InitialRotation; |
| 230 | std::vector<float> InitialTranslation; |
| 231 | std::vector<float> InitialScale; |
| 232 | std::vector<float> InitialWeights; |
| 233 | std::vector<float> Rotation; |
| 234 | std::vector<float> Translation; |
| 235 | std::vector<float> Scale; |
| 236 | std::vector<float> Weights; |
| 237 | |
| 238 | // Object-specific extension metadata |
| 239 | struct Extensions |
| 240 | { |
| 241 | // KHR_lights_punctual extension |
| 242 | struct KHRLightsPunctual |
| 243 | { |
| 244 | int Light = -1; |
| 245 | }; |
| 246 | Node::Extensions::KHRLightsPunctual KHRLightsPunctualMetaData; |
| 247 | }; |
| 248 | Node::Extensions ExtensionMetaData; |
| 249 | |
| 250 | std::string Name; |
| 251 | |
| 252 | void UpdateTransform(); |
| 253 | }; |
| 254 | |
| 255 | /** |
| 256 | * This struct describes a glTF mesh object. |
no outgoing calls
no test coverage detected