6 #include <StaticScene.h>
8 #include <SerialSceneWrapper.h>
9 #include <SceneLoadingSpecification.h>
10 #include <scene/dynamic/DynSequentiableMovingObject.h>
11 #include <KDTreeFactory.h>
12 #include <KDGroveFactory.h>
86 tinyxml2::XMLElement* sceneNode,
103 tinyxml2::XMLElement *scenePartNode,
120 tinyxml2::XMLElement *scenePartNode,
122 shared_ptr<ScenePart> scenePart
133 shared_ptr<ScenePart> scenePart,
134 tinyxml2::XMLElement *scenePartNode
153 shared_ptr<ScenePart> &scenePart,
154 std::shared_ptr<StaticScene> &scene,
207 tinyxml2::XMLElement *scenePartNode,
208 shared_ptr<ScenePart> scenePart
230 tinyxml2::XMLElement *sceneNode,
231 shared_ptr<DynScene> scene
Manually specify scene transformation filters to apply when loading a scene.
Definition: SceneLoadingSpecification.h:18
SceneType
Types of scene that can be handled by the SerialSceneWrapper.
Definition: SerialSceneWrapper.h:61
Class for scene loading from XML file.
Definition: XmlSceneLoader.h:23
bool validateScenePart(shared_ptr< ScenePart > scenePart, tinyxml2::XMLElement *scenePartNode)
Validate the given loaded scene part.
Definition: XmlSceneLoader.cpp:224
shared_ptr< ScenePart > loadFilters(tinyxml2::XMLElement *scenePartNode, bool &holistic)
Load filters defining the scene part.
Definition: XmlSceneLoader.cpp:114
XmlSceneLoader()
Default constructor for XML scene loader.
Definition: XmlSceneLoader.h:66
void digestScenePart(shared_ptr< ScenePart > &scenePart, std::shared_ptr< StaticScene > &scene, bool holistic, bool splitPart, bool dynObject, int &partIndex)
Apply final processings to the built scene part so it is fully integrated in the scene and totally co...
Definition: XmlSceneLoader.cpp:271
shared_ptr< StaticScene > makeSceneDynamic(shared_ptr< StaticScene > scene)
Build a dynamic scene based on given static scene.
Definition: XmlSceneLoader.cpp:453
bool loadScenePartId(tinyxml2::XMLElement *scenePartNode, int partIndex, shared_ptr< ScenePart > scenePart)
Load the scene part identifier.
Definition: XmlSceneLoader.cpp:188
int kdtFactoryType
Type of KDTree factory to be used to build scene.
Definition: XmlSceneLoader.h:36
void handleDynamicSceneAttributes(tinyxml2::XMLElement *sceneNode, shared_ptr< DynScene > scene)
Handle the loading of dynamic scene attributes.
Definition: XmlSceneLoader.cpp:476
SceneLoadingSpecification sceneSpec
Scene loading specification.
Definition: XmlSceneLoader.h:31
size_t kdtGeomJobs
How many threads must be used to build upper nodes of KDTree.
Definition: XmlSceneLoader.h:54
size_t kdtSAHLossNodes
How many loss nodes for the Surface Area Heuristic if using a SAH like KDTree factory to build the sc...
Definition: XmlSceneLoader.h:59
shared_ptr< DynSequentiableMovingObject > loadDynMotions(tinyxml2::XMLElement *scenePartNode, shared_ptr< ScenePart > scenePart)
Build a dynamic sequentiable moving object which is composed of dynamic motions.
Definition: XmlSceneLoader.cpp:372
shared_ptr< KDTreeFactory > makeKDTreeFactory()
Build the KDTree factory from loader's kdtFactoryType and kdtSAHLossNodes attributes.
Definition: XmlSceneLoader.cpp:317
size_t kdtNumJobs
How many threads must be used to build KDTree.
Definition: XmlSceneLoader.h:45
shared_ptr< KDGroveFactory > makeKDGroveFactory()
Build the KDGrove factory from loader's KDTree factory specification.
Definition: XmlSceneLoader.cpp:366
std::shared_ptr< Scene > createSceneFromXml(tinyxml2::XMLElement *sceneNode, std::string path, SerialSceneWrapper::SceneType *sceneType=nullptr)
Create scene from given XML element (node)
Definition: XmlSceneLoader.cpp:20