9 #ifndef opengl_C3DSScene_H
10 #define opengl_C3DSScene_H
#define DEFINE_SERIALIZABLE(class_name)
This declaration must be inserted in all CSerializable classes definition, within the class declarati...
This element keeps a set of objects imported from a 3DStudio file (.3ds).
bool m_enable_extra_lighting
void loadFrom3DSFile(const std::string &file_name)
Loads a scene from a 3DS file (3D Studio format) into this object, from either plain ....
C3DSScene()
Default constructor.
bool traceRay(const mrpt::poses::CPose3D &o, double &dist) const override
Simulation of ray-trace, given a pose.
void getBoundingBox(mrpt::math::TPoint3D &bb_min, mrpt::math::TPoint3D &bb_max) const override
Evaluates the bounding box of this object (including possible children) in the coordinate frame of th...
void evaluateAnimation(double time_anim)
Evaluates the scene at a given animation time.
void clear()
Empty the object.
std::shared_ptr< TImpl3DS > m_3dsfile
An internal pointer to the lib3ds library's object of type "Lib3dsFile".
void render_dl() const override
Render child objects.
void initializeAllTextures()
Initializes all textures in the scene (See opengl::CTexturedPlane::loadTextureInOpenGL)
virtual ~C3DSScene()
Private, virtual destructor: only can be deleted from smart pointers.
mrpt::math::TPoint3D m_bbox_min
Scale of the object.
void enableExtraAmbientLight(bool enable=true)
Enables an extra ambient light.
mrpt::math::TPoint3D m_bbox_max
A renderizable object suitable for rendering with OpenGL's display lists.
EIGEN_STRONG_INLINE void notifyChange() const
Must be called to notify that the object has changed (so, the display list must be updated)
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
GLsizei const GLchar ** string
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
A container for automatic deletion of lib3ds's scene when the last reference of the smart_ptr's is de...