#include <OglModel.h>
Main class for rendering 3D model in SOFA. More...
Main class for rendering 3D model in SOFA.
This class implements VisuelModelImpl with rendering functions using OpenGL.
Public Attributes | |
Data< bool > | blendTransparency |
Blend transparent parts. More... | |
Public Attributes inherited from sofa::component::visual::VisualModelImpl | |
bool | useTopology |
True if list of facets should be taken from the attached topology. More... | |
int | lastMeshRev |
Time stamps from the last time the mesh was updated from the topology. More... | |
bool | castShadow |
True if object cast shadows. More... | |
sofa::core::topology::BaseMeshTopology * | m_topology |
Data< bool > | m_initRestPositions |
True if rest positions should be initialized with initial positions, False if nothing should be done. More... | |
Data< bool > | m_useNormals |
True if normals should be read from file. More... | |
Data< bool > | m_updateNormals |
True if normals should be updated at each iteration. More... | |
Data< bool > | m_computeTangents |
True if tangents should be computed at startup. More... | |
Data< bool > | m_updateTangents |
True if tangents should be updated at each iteration. More... | |
Data< bool > | m_handleDynamicTopology |
True if topological changes should be handled. More... | |
Data< bool > | m_fixMergedUVSeams |
True if UV seams should be handled even when duplicate UVs are merged. More... | |
Data< bool > | m_keepLines |
keep and draw lines (false by default) More... | |
Data< VecCoord > | m_vertices2 |
vertices of the model (only if vertices have multiple normals/texcoords, otherwise positions are used) More... | |
core::topology::PointData< VecTexCoord > | m_vtexcoords |
coordinates of the texture More... | |
core::topology::PointData< VecCoord > | m_vtangents |
tangents for normal mapping More... | |
core::topology::PointData< VecCoord > | m_vbitangents |
tangents for normal mapping More... | |
core::topology::EdgeData< VecVisualEdge > | m_edges |
edges of the model More... | |
core::topology::TriangleData< VecVisualTriangle > | m_triangles |
triangles of the model More... | |
core::topology::QuadData< VecVisualQuad > | m_quads |
quads of the model More... | |
bool | m_textureChanged {false} |
Data< type::vector< visual_index_type > > | m_vertPosIdx |
Data< type::vector< visual_index_type > > | m_vertNormIdx |
sofa::core::objectmodel::DataFileName | fileMesh |
sofa::core::objectmodel::DataFileName | texturename |
sofa::type::Vec3f | bbox [2] |
Data< sofa::type::Material > | material |
Data< bool > | putOnlyTexCoords |
Data< bool > | srgbTexturing |
Data< type::vector< sofa::type::Material > > | materials |
Data< type::vector< FaceGroup > > | groups |
SingleLink< VisualModelImpl, sofa::core::topology::BaseMeshTopology, BaseLink::FLAG_STOREPATH|BaseLink::FLAG_STRONGLINK > | l_topology |
Link to be set to the topology container in the component graph. More... | |
sofa::defaulttype::Rigid3fTypes::VecCoord | xforms |
Temporary added here from RigidState deprecated inheritance. More... | |
bool | xformsModified |
Data< Vec3Real > | m_translation |
Initial Translation of the object. More... | |
Data< Vec3Real > | m_rotation |
Initial Rotation of the object. More... | |
Data< Vec3Real > | m_scale |
Initial Scale of the object. More... | |
Data< TexCoord > | m_scaleTex |
Scale of the texture. More... | |
Data< TexCoord > | m_translationTex |
Translation of the texture. More... | |
Public Attributes inherited from sofa::core::visual::VisualModel | |
Data< bool > | d_enable |
Display the visual model or not. More... | |
Public Attributes inherited from sofa::core::objectmodel::BaseObject | |
Data< bool > | f_listening |
if true, handle the events, otherwise ignore the events More... | |
Public Attributes inherited from sofa::core::objectmodel::Base | |
std::vector< lifecycle::DeprecatedData * > | m_oldAttributes |
Data< int > | d_messageLogCount |
Data< std::string > | name |
Name of the object. More... | |
Data< bool > | f_printLog |
if true, emits extra messages at runtime. More... | |
Data< sofa::core::objectmodel::TagSet > | f_tags |
list of the subsets the objet belongs to More... | |
Data< sofa::type::BoundingBox > | f_bbox |
this object bounding box More... | |
Data< sofa::core::objectmodel::ComponentState > | d_componentState |
the object state More... | |
std::string | m_definitionSourceFileName {""} |
int | m_definitionSourceFilePos {-1} |
std::string | m_instanciationSourceFileName {""} |
int | m_instanciationSourceFilePos {-1} |
Public Attributes inherited from sofa::core::visual::VisualState< defaulttype::Vec3Types > | |
core::topology::PointData< VecCoord > | m_positions |
Vertices coordinates. More... | |
core::topology::PointData< VecCoord > | m_restPositions |
Vertices rest coordinates. More... | |
core::topology::PointData< VecDeriv > | m_vnormals |
Normals of the model. More... | |
bool | modified |
True if input vertices modified since last rendering. More... | |
Public Attributes inherited from sofa::core::State< TDataTypes > | |
AccumulationVecId< TDataTypes, V_DERIV, V_READ > | accumulatedForces |
Stores all the VecDerivId corresponding to a force. They can then be accumulated. More... | |
Protected Attributes | |
Data< bool > | premultipliedAlpha |
is alpha premultiplied ? More... | |
Data< bool > | writeZTransparent |
Write into Z Buffer for Transparent Object. More... | |
Data< bool > | alphaBlend |
Enable alpha blending. More... | |
Data< bool > | depthTest |
Enable depth testing. More... | |
Data< int > | cullFace |
Face culling (0 = no culling, 1 = cull back faces, 2 = cull front faces) More... | |
Data< GLfloat > | lineWidth |
Line width (set if != 1, only for lines rendering) More... | |
Data< GLfloat > | pointSize |
Point size (set if != 1, only for points rendering) More... | |
Data< bool > | lineSmooth |
Enable smooth line rendering. More... | |
Data< bool > | pointSmooth |
Data< bool > | isEnabled |
Suppress field for save as function. More... | |
Data< sofa::helper::OptionsGroup > | primitiveType |
Select types of primitives to send (necessary for some shader types such as geometry or tesselation) More... | |
Data< sofa::helper::OptionsGroup > | blendEquation |
if alpha blending is enabled this specifies how source and destination colors are combined More... | |
Data< sofa::helper::OptionsGroup > | sourceFactor |
if alpha blending is enabled this specifies how the red, green, blue, and alpha source blending factors are computed More... | |
Data< sofa::helper::OptionsGroup > | destFactor |
if alpha blending is enabled this specifies how the red, green, blue, and alpha destination blending factors are computed More... | |
GLenum | blendEq |
GLenum | sfactor |
GLenum | dfactor |
sofa::gl::Texture * | tex |
GLuint | vbo |
GLuint | iboEdges |
GLuint | iboTriangles |
GLuint | iboQuads |
bool | VBOGenDone |
bool | initDone |
bool | useEdges |
bool | useTriangles |
bool | useQuads |
bool | canUsePatches |
size_t | oldVerticesSize |
size_t | oldNormalsSize |
size_t | oldTexCoordsSize |
size_t | oldTangentsSize |
size_t | oldBitangentsSize |
size_t | oldEdgesSize |
size_t | oldTrianglesSize |
size_t | oldQuadsSize |
int | edgesRevision |
int | trianglesRevision |
int | quadsRevision |
std::vector< sofa::type::Vec3f > | verticesTmpBuffer |
std::vector< sofa::type::Vec3f > | normalsTmpBuffer |
std::vector< sofa::gl::Texture * > | textures |
std::map< int, int > | materialTextureIdMap |
Protected Attributes inherited from sofa::component::visual::VisualModelImpl | |
std::set< sofa::core::topology::BaseMeshTopology::TriangleID > | m_dirtyTriangles |
std::set< sofa::core::topology::BaseMeshTopology::QuadID > | m_dirtyQuads |
Internal buffer similar to. More... | |
Protected Attributes inherited from sofa::core::objectmodel::BaseObject | |
SingleLink< BaseObject, BaseContext, BaseLink::FLAG_DOUBLELINK > | l_context |
LinkSlaves | l_slaves |
SingleLink< BaseObject, BaseObject, BaseLink::FLAG_DOUBLELINK > | l_master |
Protected Attributes inherited from sofa::core::objectmodel::Base | |
std::map< std::string, sofa::core::DataTrackerCallback > | m_internalEngine |
VecData | m_vecData |
List of fields (Data instances) More... | |
MapData | m_aliasData |
name -> Data multi-map (includes names and aliases) More... | |
VecLink | m_vecLink |
List of links. More... | |
MapLink | m_aliasLink |
name -> Link multi-map (includes names and aliases) More... | |
Public Member Functions | |
SOFA_CLASS (OglModel, Inherit) | |
bool | loadTexture (const std::string &filename) override |
bool | loadTextures () override |
void | initTextures () |
void | initVisual () override |
Initialize the textures, or other graphical resources. More... | |
void | init () override |
Initialization method called at graph creation and modification, during top-down traversal. More... | |
void | updateBuffers () override |
void | deleteBuffers () override |
void | deleteTextures () override |
bool | hasTransparent () override |
bool | hasTexture () |
bool | isUseEdges () |
bool | isUseTriangles () |
bool | isUseQuads () |
sofa::gl::Texture * | getTex () const |
GLuint | getVbo () |
GLuint | getIboEdges () |
GLuint | getIboTriangles () |
GLuint | getIboQuads () |
const std::vector< sofa::gl::Texture * > & | getTextures () const |
void | createVertexBuffer () |
void | createEdgesIndicesBuffer () |
void | createTrianglesIndicesBuffer () |
void | createQuadsIndicesBuffer () |
void | initVertexBuffer () |
void | initEdgesIndicesBuffer () |
void | initTrianglesIndicesBuffer () |
void | initQuadsIndicesBuffer () |
void | updateVertexBuffer () |
void | updateEdgesIndicesBuffer () |
void | updateTrianglesIndicesBuffer () |
void | updateQuadsIndicesBuffer () |
Public Member Functions inherited from sofa::component::visual::VisualModelImpl | |
SOFA_CLASS2 (VisualModelImpl, core::visual::VisualModel, sofa::core::visual::VisualState< defaulttype::Vec3Types >) | |
SOFA_ATTRIBUTE_REPLACED__TYPEMEMBER (Index, sofa::Index) | |
void | parse (core::objectmodel::BaseObjectDescription *arg) override |
Parse the given description to assign values to this object's fields and potentially other parameters. More... | |
bool | hasOpaque () |
void | doDrawVisual (const core::visual::VisualParams *vparams) override |
void | drawTransparent (const core::visual::VisualParams *vparams) override |
Display transparent surfaces. More... | |
void | drawShadow (const core::visual::VisualParams *vparams) override |
Display shadow-casting surfaces. More... | |
bool | load (const std::string &filename, const std::string &loader, const std::string &textureName) |
void | flipFaces () |
void | setFilename (std::string s) |
std::string | getFilename () |
void | setColor (float r, float g, float b, float a) |
void | setColor (std::string color) |
void | setUseNormals (bool val) |
bool | getUseNormals () const |
void | setCastShadow (bool val) |
bool | getCastShadow () const |
void | setMesh (helper::io::Mesh &m, bool tex=false) |
bool | isUsingTopology () const |
const VecCoord & | getVertices () const |
const VecDeriv & | getVnormals () const |
const VecTexCoord & | getVtexcoords () const |
const VecCoord & | getVtangents () const |
const VecCoord & | getVbitangents () const |
const VecVisualTriangle & | getTriangles () const |
const VecVisualQuad & | getQuads () const |
const VecVisualEdge & | getEdges () const |
void | setVertices (VecCoord *x) |
void | setVnormals (VecDeriv *vn) |
void | setVtexcoords (VecTexCoord *vt) |
void | setVtangents (VecCoord *v) |
void | setVbitangents (VecCoord *v) |
void | setTriangles (VecVisualTriangle *t) |
void | setQuads (VecVisualQuad *q) |
void | setEdges (VecVisualEdge *e) |
virtual void | computePositions () |
virtual void | computeMesh () |
virtual void | computeNormals () |
virtual void | computeTangents () |
void | computeBBox (const core::ExecParams *params, bool=false) override |
virtual void | computeUVSphereProjection () |
void | updateVisual () override |
used to update the model if necessary. More... | |
void | initFromTopology () |
void | initPositionFromVertices () |
void | initFromFileMesh () |
void | exportOBJ (std::string name, std::ostream *out, std::ostream *mtl, sofa::Index &vindex, sofa::Index &nindex, sofa::Index &tindex, int &count) override |
bool | insertInNode (core::objectmodel::BaseNode *node) override |
bool | removeInNode (core::objectmodel::BaseNode *node) override |
void | applyTranslation (const SReal dx, const SReal dy, const SReal dz) override |
void | applyRotation (const SReal rx, const SReal ry, const SReal rz) override |
Apply Rotation from Euler angles (in degree!) More... | |
void | applyRotation (const sofa::type::Quat< SReal > q) override |
void | applyScale (const SReal sx, const SReal sy, const SReal sz) override |
virtual void | applyUVTransformation () |
void | applyUVTranslation (const Real dU, const Real dV) |
void | applyUVScale (const Real su, const Real sv) |
void | setTranslation (SReal dx, SReal dy, SReal dz) |
void | setRotation (SReal rx, SReal ry, SReal rz) |
void | setScale (SReal sx, SReal sy, SReal sz) |
Public Member Functions inherited from sofa::core::visual::VisualModel | |
SOFA_ABSTRACT_CLASS (VisualModel, objectmodel::BaseObject) | |
virtual void | drawVisual (const VisualParams *) final |
Display the VisualModel object. More... | |
virtual void | clearVisual () |
clear some graphical resources (generaly called before the deleteVisitor). More... | |
virtual void | fwdDraw (VisualParams *) |
Called before objects in the current branch are displayed. More... | |
virtual void | bwdDraw (VisualParams *) |
Called after objects in the current branch are displayed. More... | |
virtual void | parallelUpdateVisual () |
used to update the model if necessary. More... | |
virtual bool | addBBox (SReal *, SReal *) |
used to add the bounding-box of this visual model to the given bounding box in order to compute the scene bounding box or cull hidden objects. More... | |
bool | insertInNode (objectmodel::BaseNode *node) override |
bool | removeInNode (objectmodel::BaseNode *node) override |
Public Member Functions inherited from sofa::core::objectmodel::BaseObject | |
SOFA_CLASS (BaseObject, Base) | |
virtual void | draw (const core::visual::VisualParams *) |
Render internal data of this object, for debugging purposes. More... | |
void | setSrc (const std::string &v, std::vector< std::string > *attributeList=nullptr) |
Sets a source Object and parses it to collect dependent Data. More... | |
void | setSrc (const std::string &v, const BaseObject *loader, std::vector< std::string > *attributeList=nullptr) |
Base * | findLinkDestClass (const BaseClass *destType, const std::string &path, const BaseLink *link) override |
virtual std::string | getPathName () const override |
Return the full path name of this object. More... | |
SReal | getTime () const |
Current time. More... | |
const BaseContext * | getContext () const |
BaseContext * | getContext () |
const BaseObject * | getMaster () const |
BaseObject * | getMaster () |
const VecSlaves & | getSlaves () const |
BaseObject * | getSlave (const std::string &name) const |
virtual void | addSlave (BaseObject::SPtr s) |
virtual void | removeSlave (BaseObject::SPtr s) |
virtual void | handleEvent (Event *) |
Handle an event. More... | |
virtual void | handleTopologyChange () |
virtual void | handleTopologyChange (core::topology::Topology *t) |
void | parse (BaseObjectDescription *arg) override |
Parse the given description to assign values to this object's fields and potentially other parameters. More... | |
virtual void | bwdInit () |
Initialization method called at graph creation and modification, during bottom-up traversal. More... | |
virtual void | reinit () |
Update method called when variables used in precomputation are modified. More... | |
void | updateInternal () |
Update method called when variables (used to compute other internal variables) are modified. More... | |
virtual void | storeResetState () |
Save the initial state for later uses in reset() More... | |
virtual void | reset () |
Reset to initial state. More... | |
virtual void | cleanup () |
Public Member Functions inherited from sofa::core::objectmodel::Base | |
virtual const BaseClass * | getClass () const |
void | addDeprecatedAttribute (lifecycle::DeprecatedData *attribute) |
void | addUpdateCallback (const std::string &name, std::initializer_list< BaseData * > inputs, std::function< sofa::core::objectmodel::ComponentState(const DataTracker &)> function, std::initializer_list< BaseData * > outputs) |
void | addOutputsToCallback (const std::string &name, std::initializer_list< BaseData * > outputs) |
const std::string & | getName () const |
Accessor to the object name. More... | |
void | setName (const std::string &n) |
Set the name of this object. More... | |
void | setName (const std::string &n, int counter) |
Set the name of this object, adding an integer counter. More... | |
std::string | getTypeName () const |
Get the type name of this object (i.e. class and template types) More... | |
virtual std::string | getClassName () const |
Get the class name of this object. More... | |
virtual std::string | getTemplateName () const final |
Get the template type names (if any) used to instantiate this object. More... | |
std::string | getNameSpaceName () const |
Get the template type names (if any) used to instantiate this object. More... | |
void | setDefinitionSourceFileName (const std::string &sourceFileName) |
Set the source filename (where the component is implemented) More... | |
const std::string & | getDefinitionSourceFileName () const |
Get the source filename (where the component is implemented) More... | |
void | setDefinitionSourceFilePos (const int) |
Set the source location (where the component is implemented) More... | |
int | getDefinitionSourceFilePos () const |
Get the source location (where the component is implemented) More... | |
void | setInstanciationSourceFileName (const std::string &sourceFileName) |
const std::string & | getInstanciationSourceFileName () const |
void | setInstanciationSourceFilePos (const int) |
int | getInstanciationSourceFilePos () const |
void | addMessage (const sofa::helper::logging::Message &m) const |
size_t | countLoggedMessages (sofa::helper::logging::Message::TypeSet t=sofa::helper::logging::Message::AnyTypes) const |
const std::deque< sofa::helper::logging::Message > & | getLoggedMessages () const |
const std::string | getLoggedMessagesAsString (sofa::helper::logging::Message::TypeSet t=sofa::helper::logging::Message::AnyTypes) const |
void | clearLoggedMessages () const |
bool | notMuted () const |
const sofa::core::objectmodel::TagSet & | getTags () const |
Represents the subsets the object belongs to. More... | |
bool | hasTag (Tag t) const |
Return true if the object belong to the given subset. More... | |
void | addTag (Tag t) |
Add a subset qualification to the object. More... | |
void | removeTag (Tag t) |
Remove a subset qualification to the object. More... | |
ComponentState | getComponentState () const |
bool | isComponentStateValid () const |
virtual bool | parseField (const std::string &attribute, const std::string &value) |
Assign one field value (Data or Link) More... | |
virtual bool | hasField (const std::string &attribute) const |
Check if a given Data field or Link exists. More... | |
void | parseFields (const std::list< std::string > &str) |
Assign the field values stored in the given list of name + value pairs of strings. More... | |
virtual void | parseFields (const std::map< std::string, std::string * > &str) |
Assign the field values stored in the given map of name -> value pairs. More... | |
void | writeDatas (std::map< std::string, std::string * > &str) |
Write the current field values to the given map of name -> value pairs. More... | |
void | writeDatas (std::ostream &out, const std::string &separator=" ") |
BaseData * | findData (const std::string &name) const |
std::vector< BaseData * > | findGlobalField (const std::string &name) const |
Find data fields given a name: several can be found as we look into the alias map. More... | |
BaseLink * | findLink (const std::string &name) const |
std::vector< BaseLink * > | findLinks (const std::string &name) const |
Find link fields given a name: several can be found as we look into the alias map. More... | |
virtual void | updateLinks (bool logErrors=true) |
Update pointers in case the pointed-to objects have appeared. More... | |
template<class T > | |
BaseData::BaseInitData | initData (::sofa::core::objectmodel::Data< T > *field, const char *name, const char *help, ::sofa::core::objectmodel::BaseData::DataFlags dataflags) |
Helper method used to initialize a data field containing a value of type T. More... | |
template<class T > | |
BaseData::BaseInitData | initData (Data< T > *field, const char *name, const char *help, bool isDisplayed=true, bool isReadOnly=false) |
Helper method used to initialize a data field containing a value of type T. More... | |
template<class T > | |
Data< T >::InitData | initData (Data< T > *field, const T &value, const char *name, const char *help, bool isDisplayed=true, bool isReadOnly=false) |
Helper method used to initialize a data field containing a value of type T. More... | |
void | addData (BaseData *f, const std::string &name) |
void | addData (BaseData *f) |
void | removeData (BaseData *f) |
Remove a data field. More... | |
void | addAlias (BaseData *field, const char *alias) |
Add an alias to a Data. More... | |
void | addLink (BaseLink *l) |
Add a link. More... | |
void | addAlias (BaseLink *link, const char *alias) |
Add an alias to a Link. More... | |
const VecData & | getDataFields () const |
Accessor to the vector containing all the fields of this object. More... | |
const MapData & | getDataAliases () const |
Accessor to the map containing all the aliases of this object. More... | |
const VecLink & | getLinks () const |
Accessor to the vector containing all the fields of this object. More... | |
const MapLink & | getLinkAliases () const |
Accessor to the map containing all the aliases of this object. More... | |
virtual bool | findDataLinkDest (BaseData *&ptr, const std::string &path, const BaseLink *link) |
template<class T > | |
bool | findLinkDest (T *&ptr, const std::string &path, const BaseLink *link) |
Public Member Functions inherited from sofa::core::visual::VisualState< defaulttype::Vec3Types > | |
SOFA_CLASS (VisualState, SOFA_TEMPLATE(core::State, defaulttype::Vec3Types)) | |
VisualState () | |
virtual void | resize (Size vsize) override |
Resize all stored vector. More... | |
virtual Size | getSize () const override |
Current size of all stored vectors. More... | |
virtual Data< VecCoord > * | write (core::VecCoordId v) override |
virtual Data< VecDeriv > * | write (core::VecDerivId v) override |
virtual Data< MatrixDeriv > * | write (core::MatrixDerivId) override |
virtual const Data< VecCoord > * | read (core::ConstVecCoordId v) const override |
virtual const Data< VecDeriv > * | read (core::ConstVecDerivId v) const override |
virtual const Data< MatrixDeriv > * | read (core::ConstMatrixDerivId) const override |
Public Member Functions inherited from sofa::core::State< TDataTypes > | |
SOFA_CLASS (SOFA_TEMPLATE(State, TDataTypes), BaseState) | |
sofa::type::TBoundingBox< Real > | computeBBox () const |
Compute the bounding box independently from the visibility parameters. More... | |
void | computeBBox (const core::ExecParams *params, bool onlyVisible=false) override |
objectmodel::BaseData * | baseWrite (VecId v) override |
const objectmodel::BaseData * | baseRead (ConstVecId v) const override |
ReadVecCoord | readPositions () const |
WriteVecCoord | writePositions () |
WriteOnlyVecCoord | writeOnlyPositions () |
ReadVecCoord | readRestPositions () const |
WriteVecCoord | writeRestPositions () |
WriteOnlyVecCoord | writeOnlyRestPositions () |
ReadVecDeriv | readVelocities () const |
WriteVecDeriv | writeVelocities () |
WriteOnlyVecDeriv | writeOnlyVelocities () |
ReadVecDeriv | readForces () const |
WriteVecDeriv | writeForces () |
WriteOnlyVecDeriv | writeOnlyForces () |
ReadVecDeriv | readDx () const |
WriteVecDeriv | writeDx () |
WriteOnlyVecDeriv | writeOnlyDx () |
ReadVecDeriv | readNormals () const |
const AccumulationVecId< TDataTypes, V_DERIV, V_READ > & | readTotalForces () const |
Returns a proxy objects offering simplified access to elements of the cumulative sum of all force containers. More... | |
void | addToTotalForces (core::ConstVecDerivId forceId) override |
The provided VecDerivId will contribute to the sum of all force containers. More... | |
void | removeFromTotalForces (core::ConstVecDerivId forceId) override |
Public Member Functions inherited from sofa::core::BaseState | |
SOFA_ABSTRACT_CLASS (BaseState, objectmodel::BaseObject) | |
bool | insertInNode (objectmodel::BaseNode *node) override |
bool | removeInNode (objectmodel::BaseNode *node) override |
Protected Member Functions | |
void | internalDraw (const core::visual::VisualParams *vparams, bool transparent) override |
Rendering method. More... | |
void | drawGroup (int ig, bool transparent) |
void | drawGroups (bool transparent) |
virtual void | pushTransformMatrix (float *matrix) |
virtual void | popTransformMatrix () |
GLenum | getGLenum (const char *c) const |
OglModel () | |
~OglModel () override | |
Protected Member Functions inherited from sofa::component::visual::VisualModelImpl | |
VisualModelImpl () | |
Default constructor. More... | |
~VisualModelImpl () override | |
Default destructor. More... | |
Protected Member Functions inherited from sofa::core::visual::VisualModel | |
VisualModel () | |
~VisualModel () override | |
Protected Member Functions inherited from sofa::core::objectmodel::BaseObject | |
BaseObject () | |
~BaseObject () override | |
virtual void | doUpdateInternal () |
Implementation of the internal update. More... | |
void | changeContextLink (BaseContext *before, BaseContext *&after) |
void | changeSlavesLink (BaseObject::SPtr ptr, std::size_t, bool add) |
This method insures that slaves objects have master and context links set correctly. More... | |
void | trackInternalData (const BaseData &data) |
Method called to add the Data to the DataTracker (listing the Data to track) More... | |
void | cleanTracker () |
bool | hasDataChanged (const BaseData &data) |
Method called to know if a tracked Data has changed. More... | |
Protected Member Functions inherited from sofa::core::objectmodel::Base | |
Base () | |
virtual | ~Base () |
void | initData0 (BaseData *field, BaseData::BaseInitData &res, const char *name, const char *help, bool isDisplayed=true, bool isReadOnly=false) |
Helper method used by initData() More... | |
void | initData0 (BaseData *field, BaseData::BaseInitData &res, const char *name, const char *help, BaseData::DataFlags dataFlags) |
Helper method used by initData() More... | |
template<class T > | |
void | initData0 (Data< T > *field, typename Data< T >::InitData &res, const T &value, const char *name, const char *help, bool isDisplayed=true, bool isReadOnly=false) |
Helper method used by initData() More... | |
Protected Member Functions inherited from sofa::core::State< TDataTypes > | |
State () | |
~State () override | |
Protected Member Functions inherited from sofa::core::BaseState | |
BaseState () | |
~BaseState () override | |
Additional Inherited Members | |
Static Public Member Functions inherited from sofa::component::visual::VisualModelImpl | |
static std::string | GetCustomTemplateName () |
static Coord | computeTangent (const Coord &v1, const Coord &v2, const Coord &v3, const TexCoord &t1, const TexCoord &t2, const TexCoord &t3) |
Utility method to compute tangent from vertices and texture coordinates. More... | |
static Coord | computeBitangent (const Coord &v1, const Coord &v2, const Coord &v3, const TexCoord &t1, const TexCoord &t2, const TexCoord &t3) |
Utility method to compute bitangent from vertices and texture coordinates. More... | |
Static Public Member Functions inherited from sofa::core::objectmodel::BaseObject | |
template<class T > | |
static bool | canCreate (T *, BaseContext *, BaseObjectDescription *) |
Pre-construction check method called by ObjectFactory. More... | |
template<class T > | |
static T::SPtr | create (T *, BaseContext *context, BaseObjectDescription *arg) |
Construction method called by ObjectFactory. More... | |
Static Public Member Functions inherited from sofa::core::objectmodel::Base | |
static const BaseClass * | GetClass () |
template<class T > | |
static std::string | shortName (const T *ptr=nullptr, BaseObjectDescription *=nullptr) |
|
protected |
|
protected |
if alpha blending is enabled this specifies how source and destination colors are combined
|
protected |
|
protected |
Face culling (0 = no culling, 1 = cull back faces, 2 = cull front faces)
|
protected |
if alpha blending is enabled this specifies how the red, green, blue, and alpha destination blending factors are computed
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Suppress field for save as function.
Enable smooth line rendering.
|
protected |
Line width (set if != 1, only for lines rendering)
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Point size (set if != 1, only for points rendering)
Enable smooth point rendering
is alpha premultiplied ?
|
protected |
Select types of primitives to send (necessary for some shader types such as geometry or tesselation)
|
protected |
|
protected |
|
protected |
if alpha blending is enabled this specifies how the red, green, blue, and alpha source blending factors are computed
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
These two buffers are used to convert the data field to float type before being sent to opengl
Write into Z Buffer for Transparent Object.
|
protected |
|
overrideprotected |
void sofa::gl::component::rendering3d::OglModel::createEdgesIndicesBuffer | ( | ) |
void sofa::gl::component::rendering3d::OglModel::createQuadsIndicesBuffer | ( | ) |
void sofa::gl::component::rendering3d::OglModel::createTrianglesIndicesBuffer | ( | ) |
void sofa::gl::component::rendering3d::OglModel::createVertexBuffer | ( | ) |
|
overridevirtual |
Reimplemented from sofa::component::visual::VisualModelImpl.
|
overridevirtual |
Reimplemented from sofa::component::visual::VisualModelImpl.
|
protected |
|
protected |
|
protected |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
bool sofa::gl::component::rendering3d::OglModel::hasTexture | ( | ) |
|
overridevirtual |
Reimplemented from sofa::component::visual::VisualModelImpl.
|
inlineoverridevirtual |
Initialization method called at graph creation and modification, during top-down traversal.
Reimplemented from sofa::component::visual::VisualModelImpl.
Reimplemented in sofa::gl::component::shader::OglShaderVisualModel.
void sofa::gl::component::rendering3d::OglModel::initEdgesIndicesBuffer | ( | ) |
void sofa::gl::component::rendering3d::OglModel::initQuadsIndicesBuffer | ( | ) |
void sofa::gl::component::rendering3d::OglModel::initTextures | ( | ) |
void sofa::gl::component::rendering3d::OglModel::initTrianglesIndicesBuffer | ( | ) |
void sofa::gl::component::rendering3d::OglModel::initVertexBuffer | ( | ) |
|
overridevirtual |
Initialize the textures, or other graphical resources.
Called once before the first frame is drawn, and if the graphical context has been recreated.
Reimplemented from sofa::component::visual::VisualModelImpl.
Reimplemented in sofa::gl::component::shader::OglShaderVisualModel.
|
overrideprotectedvirtual |
Rendering method.
Reimplemented from sofa::component::visual::VisualModelImpl.
|
inline |
|
inline |
|
inline |
|
overridevirtual |
Reimplemented from sofa::component::visual::VisualModelImpl.
|
overridevirtual |
Reimplemented from sofa::component::visual::VisualModelImpl.
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
overridevirtual |
Reimplemented from sofa::component::visual::VisualModelImpl.
void sofa::gl::component::rendering3d::OglModel::updateEdgesIndicesBuffer | ( | ) |
void sofa::gl::component::rendering3d::OglModel::updateQuadsIndicesBuffer | ( | ) |
void sofa::gl::component::rendering3d::OglModel::updateTrianglesIndicesBuffer | ( | ) |
void sofa::gl::component::rendering3d::OglModel::updateVertexBuffer | ( | ) |