|
| StaticScene ()=default |
| Static scene default constructor.
|
|
| StaticScene (StaticScene &ss) |
| Copy constructor for static scene. More...
|
|
| StaticScene (Scene &s) |
| Build a static scene using given scene as basis. More...
|
|
void | appendStaticObject (shared_ptr< ScenePart > obj) |
| Append given static object to the scene. More...
|
|
shared_ptr< ScenePart > | getStaticObject (size_t const index) |
| Obtain static object at given index. More...
|
|
void | setStaticObject (size_t const index, shared_ptr< ScenePart > obj) |
| Set static object at given index. More...
|
|
void | removeStaticObject (size_t const index) |
| Remove static object at given index. More...
|
|
void | clearStaticObjects () |
| Remove all static objects from the static scene.
|
|
size_t | numStaticObjects () |
| Obtain the number of static objects in the scene. More...
|
|
void | writeObject (std::string path) override |
| Serialize the static scene and write it to given output file. More...
|
|
| Scene () |
| Scene default constructor.
|
|
| Scene (Scene &s) |
|
bool | finalizeLoading (bool const safe=false) |
| Handle scene loading finish process. More...
|
|
void | registerParts () |
| Register all scene parts composing the scene in the parts vector with no repetitions. More...
|
|
std::shared_ptr< AABB > | getAABB () |
| Obtain the axis aligned bounding box defining scene boundaries. More...
|
|
glm::dvec3 | getGroundPointAt (glm::dvec3 point) |
| Obtain the ground point at specified XY coordinates. More...
|
|
std::shared_ptr< RaySceneIntersection > | getIntersection (glm::dvec3 const &rayOrigin, glm::dvec3 const &rayDir, bool const groundOnly) const |
| Obtain the intersection between the ray and the scene, if any. More...
|
|
std::shared_ptr< RaySceneIntersection > | getIntersection (vector< double > const &tMinMax, glm::dvec3 const &rayOrigin, glm::dvec3 const &rayDir, bool const groundOnly) const |
| Like Scene::getIntersection(dvec3 const, dvec3 const, bool const) but receiving precomputed minimum and maximum intersection times with respect to the axis aligned bounding box that bounds the scene. More...
|
|
std::map< double, Primitive * > | getIntersections (glm::dvec3 &rayOrigin, glm::dvec3 &rayDir, bool const groundOnly) |
| Obtain all intersections between the ray and the scene, if any. More...
|
|
glm::dvec3 | getShift () |
| Obtain the minimum boundaries of the original axis aligned bounding box containing the scene, before it was centered so (0, 0, 0) became its new minimum boundaries. More...
|
|
glm::dvec3 const & | getShiftRef () const |
| Like Scene::getShift but returning a const reference instead of a copy. More...
|
|
std::vector< Vertex * > | getAllVertices () |
| Obtain all vertices (without repetitions) composing the scene. More...
|
|
void | doForceOnGround () |
| For each scene part which is flagged as forceOnGround, it will be vertically translated to closest ground scene part. More...
|
|
glm::dvec3 | findForceOnGroundQ (int const searchDepth, glm::dvec3 const minzv, vector< Vertex * > &vertices, vector< double > const &o, vector< double > const &v) |
| Assist doForceOnGround function to find an adequate \(q\) for step 4. More...
|
|
void | buildKDGrove (bool const safe=false) |
| Build the KDGrove for the scene, overwriting previous one if any. More...
|
|
void | buildKDGroveWithLog (bool const safe=false) |
| Call buildKDGrove exporting building information through logging system. More...
|
|
virtual std::shared_ptr< KDGroveRaycaster > const & | getRaycaster () const |
|
virtual std::shared_ptr< KDGroveFactory > | getKDGroveFactory () const |
| Obtain the KDGrove factory used by the scene. More...
|
|
virtual void | setKDGroveFactory (std::shared_ptr< KDGroveFactory > const kdgf) |
| Set the KDGrove factory to be used by the scene. More...
|
|
virtual std::shared_ptr< KDGrove > | getKDGrove () const |
| Obtain the KDGrove used by the scene. More...
|
|
virtual void | setKDGrove (std::shared_ptr< KDGrove > const kdgrove) |
| Set the KDGrove to be used by the scene. More...
|
|
virtual std::shared_ptr< AABB > | getBBox () const |
| Obtain the scene's bounding box. More...
|
|
virtual void | setBBox (std::shared_ptr< AABB > const bbox) |
| Set the scene's bounding box. More...
|
|
virtual std::shared_ptr< AABB > | getBBoxCRS () const |
| Obtain the scene's coordinate reference system bounding box. More...
|
|
virtual void | setBBoxCRS (std::shared_ptr< AABB > const bbox) |
| Set the scene's coordinate reference system bounding box. More...
|
|
virtual bool | hasMovingObjects () const |
| Checke whether the scene contains at least one moving object (true) or not (false) More...
|
|
virtual bool | doSimStep () |
| Support simulation step handling from scene side. More...
|
|
std::string | getLocationString () |
| Obtain asset location string. More...
|
|
virtual bool | isEgg () const |
| Check whether the asset is an EggAsset or not. More...
|
|
Static scene basic implementation.
- Author
- Alberto M. Esmoris Pena
- Version
- 1.0
A static scene is a simple scene which is aware of primitives composing each object in the scene.
- See also
- DynScene