|
| CoordinateFrameSceneObject (float axisLength=100, float axisThickness=5) |
| Default constructor with useful default size. More...
|
|
void | setParams (float axisLength, float axisThickness) |
| Dynamic adaption. More...
|
|
float | getAxisLength () const |
| returns current length of the axis' More...
|
|
float | getAxisThickness () const |
| returns current thickness of the axis' More...
|
|
ICLGeom_API | SceneObject () |
| create an object More...
|
|
ICLGeom_API | SceneObject (const std::string &type, const float *params) |
| create by string: More...
|
|
ICLGeom_API | SceneObject (const std::string &objFileName) |
| creates a scene object from given .obj file More...
|
|
| SceneObject (const SceneObject &other) |
| deep copy of SceneObject instance More...
|
|
ICLGeom_API SceneObject & | operator= (const SceneObject &other) |
| assignment operator for deep copy More...
|
|
virtual ICLGeom_API | ~SceneObject () |
| Empty destructor (but virtual) More...
|
|
ICLGeom_API std::vector< Vec > & | getVertices () |
| returns object vertices More...
|
|
ICLGeom_API const std::vector< Vec > & | getVertices () const |
| returns object vertices (const) More...
|
|
ICLGeom_API const std::vector< Vec > & | getNormals () const |
| returns object normals (const) More...
|
|
ICLGeom_API std::vector< GeomColor > & | getVertexColors () |
| returns object vertex colors More...
|
|
ICLGeom_API const std::vector< GeomColor > & | getVertexColors () const |
| returns object vertex colors (const) More...
|
|
ICLGeom_API std::vector< Primitive * > & | getPrimitives () |
| returns object's primitives (lines, quads, etc...) More...
|
|
ICLGeom_API const std::vector< Primitive * > & | getPrimitives () const |
| returns object's primitives (lines, quads, etc...) (const) More...
|
|
ICLGeom_API void | setVisible (int oredTypes, bool visible, bool recursive=true) |
| changes visibility of given primitive type More...
|
|
ICLGeom_API void | setVisible (const std::string &what, bool recursive=true) |
| convenience method that allows for setting several visibility properties at once More...
|
|
void | setVisible (const char *what, bool recursive=true) |
| explicit version for const char pointer to avoid an explicit cast to bool/int More...
|
|
ICLGeom_API bool | isVisible (Primitive::Type t) const |
| returns visibility of given primitive type More...
|
|
virtual ICLGeom_API bool | isInvisibleForCamera (int camIndex) const |
| this can be overwrittern in subclasses to hide an object for given camera indices More...
|
|
ICLGeom_API void | addVertex (const Vec &p, const GeomColor &color=GeomColor(255, 0, 0, 255)) |
| adds a new vertex to this object More...
|
|
ICLGeom_API void | addSharedTexture (utils::SmartPtr< qt::GLImg > gli) |
| adds a GLImg as shared texture More...
|
|
ICLGeom_API void | addSharedTexture (const core::ImgBase *image, core::scalemode sm=core::interpolateLIN) |
| adds an core::ImgBase * as shared texutre More...
|
|
ICLGeom_API void | addNormal (const Vec &n) |
| adds a new normal to this object More...
|
|
ICLGeom_API void | addLine (int x, int y, const GeomColor &color=GeomColor(100, 100, 100, 255)) |
| adds a new line to this object More...
|
|
ICLGeom_API void | addTriangle (int a, int b, int c, int na, int nb, int nc, const GeomColor &color=GeomColor(0, 100, 250, 255)) |
| adds a new triangle to this onject More...
|
|
void | addTriangle (int a, int b, int c, const GeomColor &color=GeomColor(0, 100, 250, 255)) |
| convenience method for creation of a triangle with auto-normals More...
|
|
ICLGeom_API void | addQuad (int a, int b, int c, int d, int na, int nb, int nc, int nd, const GeomColor &color=GeomColor(0, 100, 250, 255)) |
| adds a new triangle to this onject More...
|
|
void | addQuad (int a, int b, int c, int d, const GeomColor &color=GeomColor(0, 100, 250, 255)) |
| convenience method for creation of a quad with auto-normals More...
|
|
ICLGeom_API void | addPolygon (int nPoints, const int *vertexIndices, const GeomColor &color=GeomColor(0, 100, 250, 255), const int *normalIndices=0) |
| add a polygon to this object (note triangles and quads are slower here) More...
|
|
ICLGeom_API void | addTexture (int a, int b, int c, int d, const core::ImgBase *texture, int na, int nb, int nc, int nd, bool createTextureOnce=true, core::scalemode sm=core::interpolateLIN) |
|
void | addTexture (int a, int b, int c, int d, const core::ImgBase *texture, bool createTextureOnce=true, core::scalemode sm=core::interpolateLIN) |
| convenience method for creation of a texture with auto-normals More...
|
|
ICLGeom_API void | addTexture (int a, int b, int c, int d, int sharedTextureIndex, int na=-1, int nb=-1, int nc=-1, int nd=-1) |
| adds are shared texture primitive More...
|
|
ICLGeom_API void | addTexture (const core::ImgBase *image, int numPoints, const int *vertexIndices, const utils::Point32f *texCoords, const int *normalIndices=0, bool createTextureOnce=true) |
| adds a GenericTexturePrimitive for custom texCoords More...
|
|
ICLGeom_API void | addTextureGrid (int w, int h, const core::ImgBase *image, const icl32f *px, const icl32f *py, const icl32f *pz, const icl32f *pnx=0, const icl32f *pny=0, const icl32f *pnz=0, int stride=1, bool createTextureOnce=true, core::scalemode sm=core::interpolateLIN) |
| adds a texture that is drawn on a 2D grid of vertices in 3D space More...
|
|
ICLGeom_API void | addTwoSidedTextureGrid (int w, int h, const core::ImgBase *front, const core::ImgBase *back, const icl32f *px, const icl32f *py, const icl32f *pz, const icl32f *pnx=0, const icl32f *pny=0, const icl32f *pnz=0, int stride=1, bool createFrontOnce=true, bool createBackOnce=true, core::scalemode sm=core::interpolateLIN) |
| adds a texture grid that has two different texture for the two faces More...
|
|
ICLGeom_API void | addTwoSidedTGrid (int w, int h, const Vec *vertices, const Vec *normals=0, const GeomColor &frontColor=GeomColor(0, 100, 255, 255), const GeomColor &backColor=GeomColor(255, 0, 100, 255), const GeomColor &lineColor=GeomColor(0, 255, 100, 255), bool drawLines=false, bool drawQuads=true) |
| adds a two sided grid (sides may have different colors) More...
|
|
ICLGeom_API void | addTextTexture (int a, int b, int c, int d, const std::string &text, const GeomColor &color, int na, int nb, int nc, int nd, int textSize, core::scalemode sm=core::interpolateLIN) |
| adds text-texture quad -primitive to this object More...
|
|
void | addTextTexture (int a, int b, int c, int d, const std::string &text, const GeomColor &color=GeomColor(255, 255, 255, 255), int textSize=30, core::scalemode sm=core::interpolateLIN) |
| convenience method for creation of a text-texture with auto-normals More...
|
|
ICLGeom_API void | addText (int a, const std::string &text, float billboardHeight=10, const GeomColor &color=GeomColor(255, 255, 255, 255), int textRenderSize=30, core::scalemode sm=core::interpolateLIN) |
| adds a billboard text-texture attached to given node index a More...
|
|
void | addCustomPrimitive (Primitive *p) |
| adds a custom primitive More...
|
|
SceneObject * | addCube (float x, float y, float z, float d) |
| adds a cube child-object with given parameters More...
|
|
ICLGeom_API SceneObject * | addCuboid (float x, float y, float z, float dx, float dy, float dz) |
| adds a cuboid child-object with given parameters More...
|
|
SceneObject * | addSphere (float x, float y, float z, float r, int rzSteps, int xySlices) |
| adds a cuboid child-object with given parameters More...
|
|
ICLGeom_API SceneObject * | addSpheroid (float x, float y, float z, float rx, float ry, float rz, int rzSteps, int xySlices) |
| adds a cuboid child-object with given parameters More...
|
|
ICLGeom_API SceneObject * | addCylinder (float x, float y, float z, float rx, float ry, float h, int steps) |
| adds a cylindical child object with given parameters More...
|
|
ICLGeom_API SceneObject * | addCone (float x, float y, float z, float rx, float ry, float h, int steps) |
| adds a conical child object with given parameters More...
|
|
ICLGeom_API void | setColor (Primitive::Type t, const GeomColor &color, bool recursive=true) |
| tints all Primitives with given type in given color More...
|
|
ICLGeom_API void | setPointSize (float pointSize, bool recursive=true) |
| sets point size More...
|
|
ICLGeom_API void | setLineWidth (float lineWidth, bool recursive=true) |
| sets point size More...
|
|
ICLGeom_API void | setUseCustomRender (bool use, bool recursive=true) |
| if set, only custom render is used More...
|
|
virtual ICLGeom_API SceneObject * | copy () const |
| performs a deep copy of this object More...
|
|
virtual void | prepareForRendering () |
| called by the renderer before the object is rendered More...
|
|
virtual void | customRender () |
| this function is called when an object is rendered More...
|
|
virtual void | complexCustomRender (icl::geom::ShaderUtil *util) |
| this function is called when an object is rendered More...
|
|
ICLGeom_API void | setColorsFromVertices (Primitive::Type t, bool on, bool recursive=true) |
| sets how 2D-geom colors are set More...
|
|
ICLGeom_API bool | getSmoothShading () const |
| returns wheather smooth shading is activated More...
|
|
ICLGeom_API void | setSmoothShading (bool on, bool recursive=true) |
| sets whether to use smoothshading (default is false) More...
|
|
ICLGeom_API void | createAutoNormals (bool smooth=true) |
| automatically creates precomputed normals More...
|
|
virtual GeomColor | getDefaultVertexColor () const |
| can be reimplemented by subclass to provide and interface for setting default vertex color More...
|
|
ICLGeom_API Hit | hit (const ViewRay &v, bool recursive=true) |
| returns whether this object is hit by the given viewray More...
|
|
const Hit | hit (const ViewRay &v, bool recursive=true) const |
| returns whether this object is hit by the given viewray (const) More...
|
|
ICLGeom_API std::vector< Hit > | hits (const ViewRay &v, bool recursive=true) |
| returns all hits with SceneObjects form the given viewray More...
|
|
ICLGeom_API std::vector< Vec > | getTransformedVertices () const |
| returns all vertices in their final world coordinates More...
|
|
ICLGeom_API Vec | getClosestVertex (const Vec &pWorld, bool relative=false) |
| returns the vertex, that is closest to the given point in wold coordinates More...
|
|
ICLGeom_API void | setVisible (bool visible, bool recursive=true) |
| sets the visibility of this object More...
|
|
bool | isVisible () const |
| returns whether this object is currently visible More...
|
|
void | hide (bool recursive=true) |
| calls setVisible(false) More...
|
|
void | show (bool recursive=true) |
| calls setVisible(true) More...
|
|
void | setLockingEnabled (bool enabled) |
| sets locking enabled or disabled More...
|
|
bool | getLockingEnabled () const |
| returns whether locking is current enabled for this object More...
|
|
virtual void | lock () const |
| locks the internal mutex if locking enabled is set to true More...
|
|
virtual void | unlock () const |
| unlocks the internal mutex if locking enabled is set to true More...
|
|
void | setPointSmoothingEnabled (bool enabled=true) |
| sets whether points are visualized in a smoothed manner More...
|
|
void | setLineSmoothingEnabled (bool enabled=true) |
| sets whether lines are visualized in a smoothed manner More...
|
|
void | setPolygonSmoothingEnabled (bool enabled=true) |
| sets whether faces are visualized in a smoothed manner More...
|
|
ICLGeom_API void | clearAllPrimitives () |
| deletes and removes all primitives More...
|
|
virtual ICLGeom_API void | clearObject (bool deleteAndRemoveChildren=true, bool resetTransform=false) |
| deletes all primitive and all vertex, color and normal content (and optionally also the children) More...
|
|
ICLGeom_API void | createDisplayList () |
| creates a displaylist in the next render cycle More...
|
|
ICLGeom_API void | freeDisplayList () |
| frees the displaylist in the next render cycle More...
|
|
ICLGeom_API void | setFragmentShader (qt::GLFragmentShader *shader) |
| sets a fragment shader to use for this object More...
|
|
qt::GLFragmentShader * | getFragmentShader () |
| returns the current fragment shader (or NULL if non was given) More...
|
|
const qt::GLFragmentShader * | getFragmentShader () const |
| returns the current fragment shader (or NULL if non was given, const version) More...
|
|
void | setCastShadowsEnabled (bool castShadows=true) |
|
bool | getCastShadowsEnabled () |
|
void | setReceiveShadowsEnabled (bool receiveShadows=true) |
|
bool | getReceiveShadowsEnabled () |
|
void | setShininess (icl8u value) |
| sets the material shininess (default is 128) More...
|
|
void | setSpecularReflectance (const GeomColor &values) |
| sets the materials specular reflectance More...
|
|
bool | getDepthTestEnabled () const |
| returns whether depth test is enabled for this object More...
|
|
void | setDepthTestEnabled (bool enabled, bool recursive=true) |
| sets whether depth test is enabled for this object More...
|
|
float | getPointHitMaxDistance () const |
| returns the maximum distance to a pointing viewraw More...
|
|
void | setPointHitMaxDistance (float d) |
| sets the maximum distance to a pointing view-ray More...
|
|
virtual ICLGeom_API void | setTransformation (const Mat &m) |
| Sets a transformation matrix. More...
|
|
ICLGeom_API void | removeTransformation () |
| sets the internal transformation to the identity matrix More...
|
|
virtual ICLGeom_API void | transform (const Mat &m) |
| multiplies the current transformation matrix by given matrix More...
|
|
template<class T > |
void | transform (const T &m) |
| utility method for passing arbitrary matrix classes More...
|
|
virtual ICLGeom_API void | rotate (float rx, float ry, float rz, icl::math::AXES axes=icl::math::AXES_DEFAULT) |
| rotates the scene object (this affects it's transformation matrix) More...
|
|
template<class T > |
void | rotate (const T &t, icl::math::AXES axes=icl::math::AXES_DEFAULT) |
| utility wrapper for vector based rotation More...
|
|
virtual ICLGeom_API void | translate (float dx, float dy, float dz) |
| translates the scene object (this affects it's translates matrix) More...
|
|
template<class T > |
void | translate (const T &t) |
| utility wrapper for vector based translation More...
|
|
virtual ICLGeom_API void | scale (float sx, float sy, float sz) |
| transformes the current transformation matrix by a scale matrix More...
|
|
template<class T > |
void | scale (const T &t) |
| utility wrapper for vector based scaling More...
|
|
ICLGeom_API Mat | getTransformation (bool relative=false) const |
| returns the current transformation matrix More...
|
|
ICLGeom_API bool | hasTransformation (bool relative=false) const |
| returns whether the SceneObject has currently a non-ID-transformation More...
|
|
ICLGeom_API SceneObject * | getParent () |
| returns the parent scene object More...
|
|
ICLGeom_API const SceneObject * | getParent () const |
| returns the parent scene object (const version) More...
|
|
ICLGeom_API void | addChild (SceneObject *child, bool passOwnerShip=true) |
| adds a new child to this scene object More...
|
|
void | addChild (utils::SmartPtr< SceneObject > child) |
| directly passes a smart pointer as a child More...
|
|
ICLGeom_API void | removeChild (SceneObject *child) |
| removes given child More...
|
|
ICLGeom_API void | removeAllChildren () |
| removes all children More...
|
|
ICLGeom_API bool | hasChildren () const |
| returns whether the SceneObject has children at all More...
|
|
ICLGeom_API int | getChildCount () const |
| returns the number of children More...
|
|
ICLGeom_API SceneObject * | getChild (int index) |
| returns child at given index More...
|
|
ICLGeom_API const SceneObject * | getChild (int index) const |
| returns child at given index (const) More...
|
|
utils::SmartPtr< SceneObject > | getChildPtr (int index) |
| returns a shared pointer to the child at given index More...
|
|
ICLGeom_API bool | hasChild (const SceneObject *o) const |
| returns whether the given object is a child of this one More...
|
|