MEPP2 Project
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
FEVV::SimpleViewer Class Reference

SimpleViewer is a specialization of osgViewer::CompositeViewer. This class is a widget where we are able to draw objects using OpenSceneGraph. More...

#include <SimpleViewer.h>

Inheritance diagram for FEVV::SimpleViewer:
Inheritance graph
Collaboration diagram for FEVV::SimpleViewer:
Collaboration graph

Public Member Functions

 SimpleViewer ()
 
 ~SimpleViewer ()
 
void init () override
 
bool isInit () const override
 
bool isValid () const override
 
bool changeBackgroundColor (const Color &_color) override
 
bool saveScreenshot (const std::string &_name) override
 
void addModel (Model *_geode) override
 
void addGroup (Group *_group) override
 
void setNodeSelected (osg::Node *_geode, bool isSelected) override
 
bool isNodeSelected (osg::Node *_geode) override
 
std::vector< osg::Geode * > getSelectedGeodes ()
 
std::vector< osg::Geode * > getGeodes ()
 
MixedMeshesVector getSelectedMeshes ()
 
MixedMeshesVector getMeshes ()
 
size_t getMeshId (const void *mesh_ptr)
 
std::vector< std::string > getSelectedMeshesNames ()
 
std::vector< std::string > getMeshesNames ()
 
std::vector< PMapsContainer * > getSelected_properties_maps ()
 
std::vector< PMapsContainer * > get_properties_maps ()
 
std::vector< osg::Group * > getSelectedDraggers1 ()
 
std::vector< osg::Group * > getDraggers1 ()
 
std::vector< osg::Group * > getSelectedDraggers2 ()
 
std::vector< osg::Group * > getDraggers2 ()
 
DataModelVectorgetDataModel () override
 
osg::Matrix getTransformMatrixOsg (unsigned int position)
 
Eigen::Matrix4d getTransformMatrixEigen (unsigned int position)
 
void resetTransformMatrix (unsigned int position)
 
template<typename HalfedgeGraph , typename PointMap >
osg::ref_ptr< osg::Group > createMesh (HalfedgeGraph *_g, PMapsContainer *_pmaps, PointMap *_pm, std::string _mesh_file=std::string(""), osg::ref_ptr< osg::Group > _group=new osg::Group)
 
template<typename HalfedgeGraph , typename PointMap >
void drawMesh (HalfedgeGraph *_g, PMapsContainer *_pmaps, PointMap *_pm, std::string _mesh_file=std::string(""))
 
template<typename HalfedgeGraph , typename PointMap >
void redrawMesh (HalfedgeGraph *_g, PMapsContainer *_pmaps, PointMap *_pm=nullptr, std::string _mesh_file=std::string(""))
 
template<typename HalfedgeGraph >
void centerMesh (HalfedgeGraph *_g)
 
osg::Matrix getMatrixVP ()
 
void setMatrixVP (osg::Matrix matrix)
 
template<typename HalfedgeGraph >
void draw_or_redraw_mesh (HalfedgeGraph *_g, PMapsContainer *_pmaps, bool _redraw=false, bool _recomputeNT_if_redraw=false, std::string _mesh_filename=std::string(""), bool _recreateOSGobj_if_redraw=true, float _step=0.)
 
void activate_time_mode ()
 
void activate_space_mode ()
 
void updateSWModelList ()
 
osg::Node * addDraggersToScene (osg::Node *scene, const std::string &nameDrag1, float fScaleDrag1, char keyDrag1, const std::string &nameDrag2, float fScaleDrag2, char keyDrag2)
 
- Public Member Functions inherited from FEVV::BaseViewerOSG
 BaseViewerOSG ()
 
virtual ~BaseViewerOSG ()
 
GroupgetRootNode ()
 
virtual bool isSelected () const
 
virtual void setSelected (const bool _isSelected)
 
- Public Member Functions inherited from FEVV::BaseViewer
 BaseViewer ()
 
virtual ~BaseViewer ()
 
virtual bool isSelected () const
 
virtual void setSelected (const bool _isSelected)
 
void attach (Window *_window)
 
void attach (Adapter *_adapter)
 
AdaptergetAdapter ()
 
WindowgetWindow ()
 

Public Attributes

osg::ref_ptr< osg::Group > gizmo
 
osg::ref_ptr< osg::Group > grid
 
osg::ref_ptr< osg::Group > hud
 
osg::ref_ptr< osgText::Text > hudText
 
int i_time
 
int current_i_time
 
- Public Attributes inherited from FEVV::BaseViewer
RenderMethod m_RenderMethod
 
bool m_RenderSuperimposedVertices
 
bool m_RenderSuperimposedVertices_Big
 
bool m_RenderSuperimposedEdges
 
bool m_UseVertexColor
 
bool m_UseFaceColor
 
bool m_UseTexture
 
bool m_Lighting
 
bool m_SmoothFlat_Shading
 
RenderMode m_RenderMode
 
bool m_ShowAxis
 
bool m_ShowGrid
 
bool m_Show_Vertex_Normals
 
bool m_Show_CustomVectors_Vertices
 
bool m_ShowSelected
 
bool m_ShowTranslateDragger
 
bool m_ShowRotateDragger
 
bool m_redraw
 
bool m_recomputeNT_if_redraw
 
bool m_recreateOSGobj_if_redraw
 
float m_step
 
bool m_space_time
 
bool m_space_time_changeColorMode
 
bool m_time
 

Protected Member Functions

template<typename HalfedgeGraph , typename PointMap >
void internal_createMesh (osg::Geode *&geode, HalfedgeGraph *_g, PMapsContainer *_pmaps, std::vector< osg::ref_ptr< osg::Geometry > > &geometries, std::vector< osg::ref_ptr< osg::Geometry > > &geometriesL, std::vector< osg::ref_ptr< osg::Geometry > > &geometriesP, std::vector< osg::ref_ptr< osg::Geometry > > &geometries_edges, std::vector< osg::ref_ptr< osg::Geometry > > &geometries_vertices, std::vector< osg::ref_ptr< osg::Geometry > > &geometries_normals, std::vector< osg::ref_ptr< osg::Geometry > > &geometries_custom_vectors, std::vector< osg::ref_ptr< osg::Vec3Array > > &vertexArrays, std::vector< osg::ref_ptr< osg::Vec3Array > > &vertexArrays_edges, std::vector< osg::ref_ptr< osg::Vec3Array > > &vertexArrays_vertices, std::vector< osg::ref_ptr< osg::Vec3Array > > &vertexArrays_normals, std::vector< osg::ref_ptr< osg::Vec3Array > > &vertexArrays_custom_vectors, std::vector< osg::ref_ptr< osg::Vec3Array > > &normalsArrays, std::vector< osg::ref_ptr< osg::Vec3Array > > &normalsArraysF, std::vector< osg::ref_ptr< osg::Vec3Array > > &normalsArrays_edges, std::vector< osg::ref_ptr< osg::Vec3Array > > &normalsArrays_vertices, std::vector< osg::ref_ptr< osg::Vec3Array > > &tangentsArrays, std::vector< osg::ref_ptr< osg::Vec4Array > > &colorsArrays, std::vector< osg::ref_ptr< osg::Vec4Array > > &colorsArrays_edges, std::vector< osg::ref_ptr< osg::Vec4Array > > &colorsArrays_vertices, std::vector< osg::ref_ptr< osg::Vec4Array > > &colorsArrays_normals, std::vector< osg::ref_ptr< osg::Vec4Array > > &colorsArrays_custom_vectors, std::vector< osg::ref_ptr< osg::Vec2Array > > &texcoordsArrays, PointMap *_pm, std::string _mesh_file=std::string(""))
 
template<typename HalfedgeGraph , typename PointMap >
osg::Geode * internal_createMesh (HalfedgeGraph *_g, PMapsContainer *_pmaps, std::vector< osg::ref_ptr< osg::Geometry > > &geometries, std::vector< osg::ref_ptr< osg::Geometry > > &geometriesL, std::vector< osg::ref_ptr< osg::Geometry > > &geometriesP, std::vector< osg::ref_ptr< osg::Geometry > > &geometries_edges, std::vector< osg::ref_ptr< osg::Geometry > > &geometries_vertices, std::vector< osg::ref_ptr< osg::Geometry > > &geometries_normals, std::vector< osg::ref_ptr< osg::Geometry > > &geometries_custom_vectors, std::vector< osg::ref_ptr< osg::Vec3Array > > &vertexArrays, std::vector< osg::ref_ptr< osg::Vec3Array > > &vertexArrays_edges, std::vector< osg::ref_ptr< osg::Vec3Array > > &vertexArrays_vertices, std::vector< osg::ref_ptr< osg::Vec3Array > > &vertexArrays_normals, std::vector< osg::ref_ptr< osg::Vec3Array > > &vertexArrays_custom_vectors, std::vector< osg::ref_ptr< osg::Vec3Array > > &normalsArrays, std::vector< osg::ref_ptr< osg::Vec3Array > > &normalsArraysF, std::vector< osg::ref_ptr< osg::Vec3Array > > &normalsArrays_edges, std::vector< osg::ref_ptr< osg::Vec3Array > > &normalsArrays_vertices, std::vector< osg::ref_ptr< osg::Vec3Array > > &tangentsArrays, std::vector< osg::ref_ptr< osg::Vec4Array > > &colorsArrays, std::vector< osg::ref_ptr< osg::Vec4Array > > &colorsArrays_edges, std::vector< osg::ref_ptr< osg::Vec4Array > > &colorsArrays_vertices, std::vector< osg::ref_ptr< osg::Vec4Array > > &colorsArrays_normals, std::vector< osg::ref_ptr< osg::Vec4Array > > &colorsArrays_custom_vectors, std::vector< osg::ref_ptr< osg::Vec2Array > > &texcoordsArrays, PointMap *_pm, std::string _mesh_file=std::string(""))
 
template<typename PointCloud , typename PointMap >
void internal_createMesh_pointcloud (osg::Geode *&geode, PointCloud *_g, PMapsContainer *_pmaps, std::vector< osg::ref_ptr< osg::Geometry > > &geometries, std::vector< osg::ref_ptr< osg::Geometry > > &geometriesL, std::vector< osg::ref_ptr< osg::Geometry > > &geometriesP, std::vector< osg::ref_ptr< osg::Geometry > > &geometries_edges, std::vector< osg::ref_ptr< osg::Geometry > > &geometries_vertices, std::vector< osg::ref_ptr< osg::Geometry > > &geometries_normals, std::vector< osg::ref_ptr< osg::Geometry > > &geometries_custom_vectorss, std::vector< osg::ref_ptr< osg::Vec3Array > > &vertexArrays, std::vector< osg::ref_ptr< osg::Vec3Array > > &vertexArrays_edges, std::vector< osg::ref_ptr< osg::Vec3Array > > &vertexArrays_vertices, std::vector< osg::ref_ptr< osg::Vec3Array > > &vertexArrays_normals, std::vector< osg::ref_ptr< osg::Vec3Array > > &vertexArrays_custom_vectors, std::vector< osg::ref_ptr< osg::Vec3Array > > &normalsArrays, std::vector< osg::ref_ptr< osg::Vec3Array > > &normalsArraysF, std::vector< osg::ref_ptr< osg::Vec3Array > > &normalsArrays_edges, std::vector< osg::ref_ptr< osg::Vec3Array > > &normalsArrays_vertices, std::vector< osg::ref_ptr< osg::Vec3Array > > &tangentsArrays, std::vector< osg::ref_ptr< osg::Vec4Array > > &colorsArrays, std::vector< osg::ref_ptr< osg::Vec4Array > > &colorsArrays_edges, std::vector< osg::ref_ptr< osg::Vec4Array > > &colorsArrays_vertices, std::vector< osg::ref_ptr< osg::Vec4Array > > &colorsArrays_normals, std::vector< osg::ref_ptr< osg::Vec4Array > > &colorsArrays_custom_vectors, std::vector< osg::ref_ptr< osg::Vec2Array > > &texcoordsArrays, PointMap *_pm, std::string _mesh_file=std::string(""))
 

Protected Attributes

MixedMeshesVector v_mixed_meshes
 
std::vector< std::string > v_meshes_names
 
std::vector< PMapsContainer * > v_properties_maps
 
std::vector< osg::Group * > v_draggers1
 
std::vector< osg::Group * > v_draggers2
 
std::vector< bool > v_meshIsSelected
 
std::vector< osg::Geode * > v_geodes
 
std::vector< std::vector< osg::ref_ptr< osg::Geometry > > > v_geometries
 
std::vector< std::vector< osg::ref_ptr< osg::Geometry > > > v_geometriesL
 
std::vector< std::vector< osg::ref_ptr< osg::Geometry > > > v_geometriesP
 
std::vector< std::vector< osg::ref_ptr< osg::Geometry > > > v_geometries_edges
 
std::vector< std::vector< osg::ref_ptr< osg::Geometry > > > v_geometries_vertices
 
std::vector< std::vector< osg::ref_ptr< osg::Geometry > > > v_geometries_normals
 
std::vector< std::vector< osg::ref_ptr< osg::Geometry > > > v_geometries_custom_vectors
 
std::vector< std::vector< osg::ref_ptr< osg::Vec3Array > > > v_vertexArrays
 
std::vector< std::vector< osg::ref_ptr< osg::Vec3Array > > > v_vertexArrays_edges
 
std::vector< std::vector< osg::ref_ptr< osg::Vec3Array > > > v_vertexArrays_vertices
 
std::vector< std::vector< osg::ref_ptr< osg::Vec3Array > > > v_vertexArrays_normals
 
std::vector< std::vector< osg::ref_ptr< osg::Vec3Array > > > v_vertexArrays_custom_vectors
 
std::vector< std::vector< osg::ref_ptr< osg::Vec3Array > > > v_normalsArrays
 
std::vector< std::vector< osg::ref_ptr< osg::Vec3Array > > > v_normalsArraysF
 
std::vector< std::vector< osg::ref_ptr< osg::Vec3Array > > > v_normalsArrays_edges
 
std::vector< std::vector< osg::ref_ptr< osg::Vec3Array > > > v_normalsArrays_vertices
 
std::vector< std::vector< osg::ref_ptr< osg::Vec3Array > > > v_tangentsArrays
 
std::vector< std::vector< osg::ref_ptr< osg::Vec4Array > > > v_colorsArrays
 
std::vector< std::vector< osg::ref_ptr< osg::Vec4Array > > > v_colorsArrays_edges
 
std::vector< std::vector< osg::ref_ptr< osg::Vec4Array > > > v_colorsArrays_vertices
 
std::vector< std::vector< osg::ref_ptr< osg::Vec4Array > > > v_colorsArrays_normals
 
std::vector< std::vector< osg::ref_ptr< osg::Vec4Array > > > v_colorsArrays_custom_vectors
 
std::vector< std::vector< osg::ref_ptr< osg::Vec2Array > > > v_texcoordsArrays
 
- Protected Attributes inherited from FEVV::BaseViewerOSG
osg::Group * root_node = nullptr
 
DataVisitorvisitor = nullptr
 
- Protected Attributes inherited from FEVV::BaseViewer
WindowmyWindow = nullptr
 
AdaptermyAdapter = nullptr
 
bool bIsInit = false
 
bool bIsSelected = false
 

Private Member Functions

template<typename HalfedgeGraph , typename VertexNormalMap , typename VertexTangentMap , typename VertexColorMap , typename FaceColorMap , typename VertexUVMap , typename HalfedgeUVMap , typename FaceMaterialMap >
void internal_loadShadedMesh (osg::Geode *_geode, HalfedgeGraph *_g, const std::vector< osg::ref_ptr< osg::Geometry > > &_geometries, const std::vector< osg::ref_ptr< osg::Geometry > > &_geometries_edges, const std::vector< osg::ref_ptr< osg::Geometry > > &_geometries_vertices, const std::vector< osg::ref_ptr< osg::Geometry > > &_geometries_normals, const std::vector< osg::ref_ptr< osg::Geometry > > &_geometries_custom_vectors, const std::vector< osg::ref_ptr< osg::Vec3Array > > &_vertexArrays, const std::vector< osg::ref_ptr< osg::Vec3Array > > &_vertexArrays_edges, const std::vector< osg::ref_ptr< osg::Vec3Array > > &_vertexArrays_vertices, const std::vector< osg::ref_ptr< osg::Vec3Array > > &_vertexArrays_normals, const std::vector< osg::ref_ptr< osg::Vec3Array > > &_vertexArrays_custom_vectors, const std::vector< osg::ref_ptr< osg::Vec3Array > > &_normalsArrays, const std::vector< osg::ref_ptr< osg::Vec3Array > > &_normalsArrays_edges, const std::vector< osg::ref_ptr< osg::Vec3Array > > &_normalsArrays_vertices, const std::vector< osg::ref_ptr< osg::Vec3Array > > &_tangentsArrays, const std::vector< osg::ref_ptr< osg::Vec2Array > > &_texcoordsArrays, const std::vector< osg::ref_ptr< osg::Vec4Array > > &_colorsArrays, const std::vector< osg::ref_ptr< osg::Vec4Array > > &_colorsArrays_edges, const std::vector< osg::ref_ptr< osg::Vec4Array > > &_colorsArrays_vertices, const std::vector< osg::ref_ptr< osg::Vec4Array > > &_colorsArrays_normals, const std::vector< osg::ref_ptr< osg::Vec4Array > > &_colorsArrays_custom_vectors, std::size_t _m_mm_size, VertexNormalMap *_vt_nm, VertexTangentMap *_vt_tm, VertexColorMap *_vt_cm, FaceColorMap *_f_cm, VertexUVMap *_vt_uv_m, HalfedgeUVMap *_het_uv_m, FaceMaterialMap *_m_mm, bool has_face_color_map)
 
template<typename HalfedgeGraph , typename VertexNormalMap , typename VertexColorMap , typename FaceColorMap , typename VertexUVMap , typename HalfedgeUVMap , typename FaceMaterialMap >
void internal_loadLegacyMesh (osg::Geode *_geode, HalfedgeGraph *_g, const std::vector< osg::ref_ptr< osg::Geometry > > &_geometries, const std::vector< osg::ref_ptr< osg::Geometry > > &_geometries_edges, const std::vector< osg::ref_ptr< osg::Geometry > > &_geometries_vertices, const std::vector< osg::ref_ptr< osg::Geometry > > &_geometries_normals, const std::vector< osg::ref_ptr< osg::Geometry > > &_geometries_custom_vectors, const std::vector< osg::ref_ptr< osg::Vec3Array > > &_vertexArrays, const std::vector< osg::ref_ptr< osg::Vec3Array > > &_vertexArrays_edges, const std::vector< osg::ref_ptr< osg::Vec3Array > > &_vertexArrays_vertices, const std::vector< osg::ref_ptr< osg::Vec3Array > > &_vertexArrays_normals, const std::vector< osg::ref_ptr< osg::Vec3Array > > &_vertexArrays_custom_vectors, const std::vector< osg::ref_ptr< osg::Vec3Array > > &_normalsArrays, const std::vector< osg::ref_ptr< osg::Vec3Array > > &_normalsArrays_edges, const std::vector< osg::ref_ptr< osg::Vec3Array > > &_normalsArrays_vertices, const std::vector< osg::ref_ptr< osg::Vec2Array > > &_texcoordsArrays, const std::vector< osg::ref_ptr< osg::Vec4Array > > &_colorsArrays, const std::vector< osg::ref_ptr< osg::Vec4Array > > &_colorsArrays_edges, const std::vector< osg::ref_ptr< osg::Vec4Array > > &_colorsArrays_vertices, const std::vector< osg::ref_ptr< osg::Vec4Array > > &_colorsArrays_normals, const std::vector< osg::ref_ptr< osg::Vec4Array > > &_colorsArrays_custom_vectors, std::size_t _m_mm_size, int _texture_type, VertexNormalMap *_vt_nm, VertexColorMap *_vt_cm, FaceColorMap *_f_cm, VertexUVMap *_vt_uv_m, HalfedgeUVMap *_het_uv_m, FaceMaterialMap *_m_mm, bool has_face_color_map)
 

Private Attributes

std::vector< osg::ref_ptr< osg::Light > > lights
 

Additional Inherited Members

- Public Types inherited from FEVV::BaseViewerOSG
using DataModel = DataVisitor::Data
 
using DataModelVector = DataVisitor::Output
 
using Model = osg::Geode
 
using Group = osg::Group
 
- Public Types inherited from FEVV::BaseViewer
using Window = BaseWindow
 
using Adapter = BaseAdapterVisu
 

Detailed Description

SimpleViewer is a specialization of osgViewer::CompositeViewer. This class is a widget where we are able to draw objects using OpenSceneGraph.

Definition at line 179 of file SimpleViewer.h.

Constructor & Destructor Documentation

◆ SimpleViewer()

FEVV::SimpleViewer::SimpleViewer ( )
inline

Constructor.

Definition at line 43 of file SimpleViewer.inl.

◆ ~SimpleViewer()

FEVV::SimpleViewer::~SimpleViewer ( )
inline

Definition at line 56 of file SimpleViewer.inl.

Here is the call graph for this function:

Member Function Documentation

◆ activate_space_mode()

void FEVV::SimpleViewer::activate_space_mode ( )
inline

Definition at line 3468 of file SimpleViewer.inl.

Here is the call graph for this function:

◆ activate_time_mode()

void FEVV::SimpleViewer::activate_time_mode ( )
inline

Definition at line 3456 of file SimpleViewer.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addDraggersToScene()

osg::Node * FEVV::SimpleViewer::addDraggersToScene ( osg::Node *  scene,
const std::string &  nameDrag1,
float  fScaleDrag1,
char  keyDrag1,
const std::string &  nameDrag2,
float  fScaleDrag2,
char  keyDrag2 
)
inline

Definition at line 2918 of file SimpleViewer.inl.

Here is the call graph for this function:

◆ addGroup()

void FEVV::SimpleViewer::addGroup ( Group _group)
inlineoverridevirtual

Add a group to the scene.

Note
A group is a set of geodes.
Parameters
[in]_groupPointer to a group of geode.

Implements FEVV::BaseViewerOSG.

Definition at line 348 of file SimpleViewer.inl.

◆ addModel()

void FEVV::SimpleViewer::addModel ( Model _geode)
inlineoverridevirtual

Add a geode to the scene.

Note
A geode is a Geometry Node.
Parameters
[in]_geodePointer to a geode.

Implements FEVV::BaseViewerOSG.

Definition at line 333 of file SimpleViewer.inl.

◆ centerMesh()

template<typename HalfedgeGraph >
void FEVV::SimpleViewer::centerMesh ( HalfedgeGraph *  _g)

Definition at line 3245 of file SimpleViewer.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ changeBackgroundColor()

bool FEVV::SimpleViewer::changeBackgroundColor ( const Color _color)
inlineoverridevirtual
Note
Actually, it returns true only if at least one mesh is selected. Change background color of the scene.
Parameters
[in]_colorthe color to use.

Implements FEVV::BaseViewer.

Definition at line 285 of file SimpleViewer.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ createMesh()

template<typename HalfedgeGraph , typename PointMap >
osg::ref_ptr< osg::Group > FEVV::SimpleViewer::createMesh ( HalfedgeGraph *  _g,
PMapsContainer _pmaps,
PointMap *  _pm,
std::string  _mesh_file = std::string(""),
osg::ref_ptr< osg::Group >  _group = new osg::Group 
)

Draw mesh into the scene.

Note
The mesh must be a model of HalfedgeGraph concept.
Template Parameters
PointMapa class of points map. Associate a coordinate to an halfedge_descriptor.
Parameters
[in]_ga mesh (model of HalfedgeGraph concept).
[in]_pma point map.

Definition at line 2996 of file SimpleViewer.inl.

◆ draw_or_redraw_mesh()

template<typename HalfedgeGraph >
void FEVV::SimpleViewer::draw_or_redraw_mesh ( HalfedgeGraph *  _g,
PMapsContainer _pmaps,
bool  _redraw = false,
bool  _recomputeNT_if_redraw = false,
std::string  _mesh_filename = std::string(""),
bool  _recreateOSGobj_if_redraw = true,
float  _step = 0. 
)

Definition at line 3415 of file SimpleViewer.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ drawMesh()

template<typename HalfedgeGraph , typename PointMap >
void FEVV::SimpleViewer::drawMesh ( HalfedgeGraph *  _g,
PMapsContainer _pmaps,
PointMap *  _pm,
std::string  _mesh_file = std::string("") 
)

Definition at line 3100 of file SimpleViewer.inl.

Here is the call graph for this function:

◆ get_properties_maps()

std::vector< FEVV::PMapsContainer * > FEVV::SimpleViewer::get_properties_maps ( )
inline

Returns all properties maps.

Note
If there is no properties map, the return will be empty.
Returns
a std::vector of pointers of all properties maps.

Definition at line 475 of file SimpleViewer.inl.

Here is the caller graph for this function:

◆ getDataModel()

FEVV::SimpleViewer::DataModelVector * FEVV::SimpleViewer::getDataModel ( )
inlineoverridevirtual

Implements FEVV::BaseViewerOSG.

Definition at line 363 of file SimpleViewer.inl.

◆ getDraggers1()

std::vector< osg::Group * > FEVV::SimpleViewer::getDraggers1 ( )
inline

Definition at line 502 of file SimpleViewer.inl.

Here is the caller graph for this function:

◆ getDraggers2()

std::vector< osg::Group * > FEVV::SimpleViewer::getDraggers2 ( )
inline

Definition at line 529 of file SimpleViewer.inl.

Here is the caller graph for this function:

◆ getGeodes()

std::vector< osg::Geode * > FEVV::SimpleViewer::getGeodes ( )
inline

Returns all geodes.

Note
If there is no mesh, the return will be empty.
Returns
a std::vector of pointers of all geodes.

Definition at line 394 of file SimpleViewer.inl.

Here is the caller graph for this function:

◆ getMatrixVP()

osg::Matrix FEVV::SimpleViewer::getMatrixVP ( )
inline

Definition at line 3310 of file SimpleViewer.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getMeshes()

FEVV::MixedMeshesVector FEVV::SimpleViewer::getMeshes ( )
inline

Returns all meshes.

Note
If there is no mesh, the return will be empty.
Returns
a std::vector of pointers of all meshes.

Definition at line 421 of file SimpleViewer.inl.

Here is the caller graph for this function:

◆ getMeshesNames()

std::vector< std::string > FEVV::SimpleViewer::getMeshesNames ( )
inline

Returns all meshes names.

Note
If there is no mesh, the return will be empty.
Returns
a std::vector of all meshes names.

Definition at line 448 of file SimpleViewer.inl.

Here is the caller graph for this function:

◆ getMeshId()

size_t FEVV::SimpleViewer::getMeshId ( const void *  mesh_ptr)
inline

Returns the id of the mesh in v_mixed_meshes array. Returns -1 if the mesh is not in v_mixed_meshes array.

Returns
index of the mesh in v_mixed_meshes array.

Definition at line 3606 of file SimpleViewer.inl.

◆ getSelected_properties_maps()

std::vector< FEVV::PMapsContainer * > FEVV::SimpleViewer::getSelected_properties_maps ( )
inline

Returns all selected properties maps.

Note
If none mesh is selected, the return will be empty.
Returns
a std::vector of pointers of all selected properties maps.

Definition at line 456 of file SimpleViewer.inl.

Here is the caller graph for this function:

◆ getSelectedDraggers1()

std::vector< osg::Group * > FEVV::SimpleViewer::getSelectedDraggers1 ( )
inline

Definition at line 483 of file SimpleViewer.inl.

◆ getSelectedDraggers2()

std::vector< osg::Group * > FEVV::SimpleViewer::getSelectedDraggers2 ( )
inline

Definition at line 510 of file SimpleViewer.inl.

◆ getSelectedGeodes()

std::vector< osg::Geode * > FEVV::SimpleViewer::getSelectedGeodes ( )
inline

Returns all selected geodes.

Note
If none geode is selected, the return will be empty.
Returns
a std::vector of pointers of all selected geodes.

Definition at line 375 of file SimpleViewer.inl.

Here is the caller graph for this function:

◆ getSelectedMeshes()

FEVV::MixedMeshesVector FEVV::SimpleViewer::getSelectedMeshes ( )
inline

Returns all selected meshes.

Note
If none mesh is selected, the return will be empty.
Returns
a std::vector of pointers of all selected meshes.

Definition at line 402 of file SimpleViewer.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getSelectedMeshesNames()

std::vector< std::string > FEVV::SimpleViewer::getSelectedMeshesNames ( )
inline

Returns all selected meshes names.

Note
If none mesh is selected, the return will be empty.
Returns
a std::vector of all selected meshes names.

Definition at line 429 of file SimpleViewer.inl.

Here is the caller graph for this function:

◆ getTransformMatrixEigen()

Eigen::Matrix4d FEVV::SimpleViewer::getTransformMatrixEigen ( unsigned int  position)
inline

Definition at line 3379 of file SimpleViewer.inl.

Here is the caller graph for this function:

◆ getTransformMatrixOsg()

osg::Matrix FEVV::SimpleViewer::getTransformMatrixOsg ( unsigned int  position)
inline

Returns the transformation matrix of the mesh at a given position.

Note
If there is no mesh at the given positon, an assert will be raised.
Parameters
[in]positionA given position (lower than v_meshes.size()).
Returns
a 4x4 homogeneous matrix.

Definition at line 3364 of file SimpleViewer.inl.

◆ init()

void FEVV::SimpleViewer::init ( )
inlineoverridevirtual

Implements FEVV::BaseViewer.

Definition at line 184 of file SimpleViewer.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ internal_createMesh() [1/2]

template<typename HalfedgeGraph , typename PointMap >
osg::Geode * FEVV::SimpleViewer::internal_createMesh ( HalfedgeGraph *  _g,
PMapsContainer _pmaps,
std::vector< osg::ref_ptr< osg::Geometry > > &  geometries,
std::vector< osg::ref_ptr< osg::Geometry > > &  geometriesL,
std::vector< osg::ref_ptr< osg::Geometry > > &  geometriesP,
std::vector< osg::ref_ptr< osg::Geometry > > &  geometries_edges,
std::vector< osg::ref_ptr< osg::Geometry > > &  geometries_vertices,
std::vector< osg::ref_ptr< osg::Geometry > > &  geometries_normals,
std::vector< osg::ref_ptr< osg::Geometry > > &  geometries_custom_vectors,
std::vector< osg::ref_ptr< osg::Vec3Array > > &  vertexArrays,
std::vector< osg::ref_ptr< osg::Vec3Array > > &  vertexArrays_edges,
std::vector< osg::ref_ptr< osg::Vec3Array > > &  vertexArrays_vertices,
std::vector< osg::ref_ptr< osg::Vec3Array > > &  vertexArrays_normals,
std::vector< osg::ref_ptr< osg::Vec3Array > > &  vertexArrays_custom_vectors,
std::vector< osg::ref_ptr< osg::Vec3Array > > &  normalsArrays,
std::vector< osg::ref_ptr< osg::Vec3Array > > &  normalsArraysF,
std::vector< osg::ref_ptr< osg::Vec3Array > > &  normalsArrays_edges,
std::vector< osg::ref_ptr< osg::Vec3Array > > &  normalsArrays_vertices,
std::vector< osg::ref_ptr< osg::Vec3Array > > &  tangentsArrays,
std::vector< osg::ref_ptr< osg::Vec4Array > > &  colorsArrays,
std::vector< osg::ref_ptr< osg::Vec4Array > > &  colorsArrays_edges,
std::vector< osg::ref_ptr< osg::Vec4Array > > &  colorsArrays_vertices,
std::vector< osg::ref_ptr< osg::Vec4Array > > &  colorsArrays_normals,
std::vector< osg::ref_ptr< osg::Vec4Array > > &  colorsArrays_custom_vectors,
std::vector< osg::ref_ptr< osg::Vec2Array > > &  texcoordsArrays,
PointMap *  _pm,
std::string  _mesh_file = std::string("") 
)
protected

Draw mesh into the scene.

Note
The mesh must be a model of HalfedgeGraph concept.
Template Parameters
PointMapa class of points map. Associate a coordinate to an halfedge_descriptor.
Parameters
[in]_ga mesh (model of HalfedgeGraph concept).
[in]_pma point map.

Definition at line 550 of file SimpleViewer.inl.

◆ internal_createMesh() [2/2]

template<typename HalfedgeGraph , typename PointMap >
void FEVV::SimpleViewer::internal_createMesh ( osg::Geode *&  geode,
HalfedgeGraph *  _g,
PMapsContainer _pmaps,
std::vector< osg::ref_ptr< osg::Geometry > > &  geometries,
std::vector< osg::ref_ptr< osg::Geometry > > &  geometriesL,
std::vector< osg::ref_ptr< osg::Geometry > > &  geometriesP,
std::vector< osg::ref_ptr< osg::Geometry > > &  geometries_edges,
std::vector< osg::ref_ptr< osg::Geometry > > &  geometries_vertices,
std::vector< osg::ref_ptr< osg::Geometry > > &  geometries_normals,
std::vector< osg::ref_ptr< osg::Geometry > > &  geometries_custom_vectors,
std::vector< osg::ref_ptr< osg::Vec3Array > > &  vertexArrays,
std::vector< osg::ref_ptr< osg::Vec3Array > > &  vertexArrays_edges,
std::vector< osg::ref_ptr< osg::Vec3Array > > &  vertexArrays_vertices,
std::vector< osg::ref_ptr< osg::Vec3Array > > &  vertexArrays_normals,
std::vector< osg::ref_ptr< osg::Vec3Array > > &  vertexArrays_custom_vectors,
std::vector< osg::ref_ptr< osg::Vec3Array > > &  normalsArrays,
std::vector< osg::ref_ptr< osg::Vec3Array > > &  normalsArraysF,
std::vector< osg::ref_ptr< osg::Vec3Array > > &  normalsArrays_edges,
std::vector< osg::ref_ptr< osg::Vec3Array > > &  normalsArrays_vertices,
std::vector< osg::ref_ptr< osg::Vec3Array > > &  tangentsArrays,
std::vector< osg::ref_ptr< osg::Vec4Array > > &  colorsArrays,
std::vector< osg::ref_ptr< osg::Vec4Array > > &  colorsArrays_edges,
std::vector< osg::ref_ptr< osg::Vec4Array > > &  colorsArrays_vertices,
std::vector< osg::ref_ptr< osg::Vec4Array > > &  colorsArrays_normals,
std::vector< osg::ref_ptr< osg::Vec4Array > > &  colorsArrays_custom_vectors,
std::vector< osg::ref_ptr< osg::Vec2Array > > &  texcoordsArrays,
PointMap *  _pm,
std::string  _mesh_file = std::string("") 
)
protected

Draw mesh into the scene.

Note
The mesh must be a model of HalfedgeGraph concept.
Template Parameters
PointMapa class of points map. Associate a coordinate to an halfedge_descriptor.
Parameters
[in]_ga mesh (model of HalfedgeGraph concept).
[in]_pma point map.

Adding edges - superimpose only

Adding vertices - superimpose and 'only_pts' mode only

Adding faces

Definition at line 616 of file SimpleViewer.inl.

Here is the call graph for this function:

◆ internal_createMesh_pointcloud()

template<typename PointCloud , typename PointMap >
void FEVV::SimpleViewer::internal_createMesh_pointcloud ( osg::Geode *&  geode,
PointCloud *  _g,
PMapsContainer _pmaps,
std::vector< osg::ref_ptr< osg::Geometry > > &  geometries,
std::vector< osg::ref_ptr< osg::Geometry > > &  geometriesL,
std::vector< osg::ref_ptr< osg::Geometry > > &  geometriesP,
std::vector< osg::ref_ptr< osg::Geometry > > &  geometries_edges,
std::vector< osg::ref_ptr< osg::Geometry > > &  geometries_vertices,
std::vector< osg::ref_ptr< osg::Geometry > > &  geometries_normals,
std::vector< osg::ref_ptr< osg::Geometry > > &  geometries_custom_vectorss,
std::vector< osg::ref_ptr< osg::Vec3Array > > &  vertexArrays,
std::vector< osg::ref_ptr< osg::Vec3Array > > &  vertexArrays_edges,
std::vector< osg::ref_ptr< osg::Vec3Array > > &  vertexArrays_vertices,
std::vector< osg::ref_ptr< osg::Vec3Array > > &  vertexArrays_normals,
std::vector< osg::ref_ptr< osg::Vec3Array > > &  vertexArrays_custom_vectors,
std::vector< osg::ref_ptr< osg::Vec3Array > > &  normalsArrays,
std::vector< osg::ref_ptr< osg::Vec3Array > > &  normalsArraysF,
std::vector< osg::ref_ptr< osg::Vec3Array > > &  normalsArrays_edges,
std::vector< osg::ref_ptr< osg::Vec3Array > > &  normalsArrays_vertices,
std::vector< osg::ref_ptr< osg::Vec3Array > > &  tangentsArrays,
std::vector< osg::ref_ptr< osg::Vec4Array > > &  colorsArrays,
std::vector< osg::ref_ptr< osg::Vec4Array > > &  colorsArrays_edges,
std::vector< osg::ref_ptr< osg::Vec4Array > > &  colorsArrays_vertices,
std::vector< osg::ref_ptr< osg::Vec4Array > > &  colorsArrays_normals,
std::vector< osg::ref_ptr< osg::Vec4Array > > &  colorsArrays_custom_vectors,
std::vector< osg::ref_ptr< osg::Vec2Array > > &  texcoordsArrays,
PointMap *  _pm,
std::string  _mesh_file = std::string("") 
)
protected

Draw point cloud into the scene.

Note
The point cloud must be a model of PointCloud concept.
Template Parameters
PointMapa class of points map. Associate a coordinate to an vertex_descriptor.
Parameters
[in]_ga point cloud (model of PointCloud concept).
[in]_pma point map.

Adding vertices - superimpose and 'only_pts' mode only

Definition at line 2079 of file SimpleViewer.inl.

Here is the call graph for this function:

◆ internal_loadLegacyMesh()

template<typename HalfedgeGraph , typename VertexNormalMap , typename VertexColorMap , typename FaceColorMap , typename VertexUVMap , typename HalfedgeUVMap , typename FaceMaterialMap >
void FEVV::SimpleViewer::internal_loadLegacyMesh ( osg::Geode *  _geode,
HalfedgeGraph *  _g,
const std::vector< osg::ref_ptr< osg::Geometry > > &  _geometries,
const std::vector< osg::ref_ptr< osg::Geometry > > &  _geometries_edges,
const std::vector< osg::ref_ptr< osg::Geometry > > &  _geometries_vertices,
const std::vector< osg::ref_ptr< osg::Geometry > > &  _geometries_normals,
const std::vector< osg::ref_ptr< osg::Geometry > > &  _geometries_custom_vectors,
const std::vector< osg::ref_ptr< osg::Vec3Array > > &  _vertexArrays,
const std::vector< osg::ref_ptr< osg::Vec3Array > > &  _vertexArrays_edges,
const std::vector< osg::ref_ptr< osg::Vec3Array > > &  _vertexArrays_vertices,
const std::vector< osg::ref_ptr< osg::Vec3Array > > &  _vertexArrays_normals,
const std::vector< osg::ref_ptr< osg::Vec3Array > > &  _vertexArrays_custom_vectors,
const std::vector< osg::ref_ptr< osg::Vec3Array > > &  _normalsArrays,
const std::vector< osg::ref_ptr< osg::Vec3Array > > &  _normalsArrays_edges,
const std::vector< osg::ref_ptr< osg::Vec3Array > > &  _normalsArrays_vertices,
const std::vector< osg::ref_ptr< osg::Vec2Array > > &  _texcoordsArrays,
const std::vector< osg::ref_ptr< osg::Vec4Array > > &  _colorsArrays,
const std::vector< osg::ref_ptr< osg::Vec4Array > > &  _colorsArrays_edges,
const std::vector< osg::ref_ptr< osg::Vec4Array > > &  _colorsArrays_vertices,
const std::vector< osg::ref_ptr< osg::Vec4Array > > &  _colorsArrays_normals,
const std::vector< osg::ref_ptr< osg::Vec4Array > > &  _colorsArrays_custom_vectors,
std::size_t  _m_mm_size,
int  _texture_type,
VertexNormalMap *  _vt_nm,
VertexColorMap *  _vt_cm,
FaceColorMap *  _f_cm,
VertexUVMap *  _vt_uv_m,
HalfedgeUVMap *  _het_uv_m,
FaceMaterialMap *  _m_mm,
bool  has_face_color_map 
)
private

Loads a mesh into the scene using old rendering mode.

Note
The mesh must be a model of HalfedgeGraph concept.
Template Parameters
VertexNormalMapa class of vertex normals map. Associates a normal to a vertex_descriptor.
VertexColorMapa class of vertex colors map. Associates a coordinate to a vertex_descriptor.
FaceColorMapa class of face colors map. Associates a coordinate to a material index.
VertexUVMapa class of vertex texture coordinates map. Associates texture coordinates to a vertex_descriptor.
HalfedgeUVMapa class of halfedge texture coordinates map. Associates texture coordinates to an halfedge_descriptor.
FaceMaterialMapa class of face materials map. Associates a material to an material index.
Parameters
[in]_geodethe geode which we want to load.
[in]_gthe halfedge graph.
[in]_geometriesthe geometries which we load into the geode.
[in]_geometries_edgesthe superimposed edges geometries which we load into the geode.
[in]_geometries_verticesthe superimposed vertices geometries which we load into the geode.
[in]_vertexArraysthe vertices positions we load into the geode.
[in]_vertexArrays_edgesthe superimposed edges positions we load into the geode.
[in]_vertexArrays_verticesthe superimposed vertices positions we load into the geode.
[in]_normalsArraysthe normals we load into the geode.
[in]_texcoordsArraysthe texture coordinates we load into the geode.
[in]_colorsArraysthe colors we load into the geode.
[in]_colorsArrays_edgesthe superimposed edges colors we load into the geode.
[in]_colorsArrays_verticesthe superimposed vertices colors we load into the geode.
[in]_m_mm_sizethe number of materials.
[in]_texture_typethe texture coordinates setup (by vertex, by halfedge, or none).
[in]_vt_nmthe vertex normals property map.
[in]_vt_cmthe vertex colors property map.
[in]_f_cmthe face colors property map.
[in]_vt_uv_mthe vertex texture coordinates property map.
[in]_het_uv_mthe halfedge texture coordinates property map.
[in]_m_mmthe face materials property map.

Definition at line 1050 of file MeshLoading.inl.

Here is the call graph for this function:

◆ internal_loadShadedMesh()

template<typename HalfedgeGraph , typename VertexNormalMap , typename VertexTangentMap , typename VertexColorMap , typename FaceColorMap , typename VertexUVMap , typename HalfedgeUVMap , typename FaceMaterialMap >
void FEVV::SimpleViewer::internal_loadShadedMesh ( osg::Geode *  _geode,
HalfedgeGraph *  _g,
const std::vector< osg::ref_ptr< osg::Geometry > > &  _geometries,
const std::vector< osg::ref_ptr< osg::Geometry > > &  _geometries_edges,
const std::vector< osg::ref_ptr< osg::Geometry > > &  _geometries_vertices,
const std::vector< osg::ref_ptr< osg::Geometry > > &  _geometries_normals,
const std::vector< osg::ref_ptr< osg::Geometry > > &  _geometries_custom_vectors,
const std::vector< osg::ref_ptr< osg::Vec3Array > > &  _vertexArrays,
const std::vector< osg::ref_ptr< osg::Vec3Array > > &  _vertexArrays_edges,
const std::vector< osg::ref_ptr< osg::Vec3Array > > &  _vertexArrays_vertices,
const std::vector< osg::ref_ptr< osg::Vec3Array > > &  _vertexArrays_normals,
const std::vector< osg::ref_ptr< osg::Vec3Array > > &  _vertexArrays_custom_vectors,
const std::vector< osg::ref_ptr< osg::Vec3Array > > &  _normalsArrays,
const std::vector< osg::ref_ptr< osg::Vec3Array > > &  _normalsArrays_edges,
const std::vector< osg::ref_ptr< osg::Vec3Array > > &  _normalsArrays_vertices,
const std::vector< osg::ref_ptr< osg::Vec3Array > > &  _tangentsArrays,
const std::vector< osg::ref_ptr< osg::Vec2Array > > &  _texcoordsArrays,
const std::vector< osg::ref_ptr< osg::Vec4Array > > &  _colorsArrays,
const std::vector< osg::ref_ptr< osg::Vec4Array > > &  _colorsArrays_edges,
const std::vector< osg::ref_ptr< osg::Vec4Array > > &  _colorsArrays_vertices,
const std::vector< osg::ref_ptr< osg::Vec4Array > > &  _colorsArrays_normals,
const std::vector< osg::ref_ptr< osg::Vec4Array > > &  _colorsArrays_custom_vectors,
std::size_t  _m_mm_size,
VertexNormalMap *  _vt_nm,
VertexTangentMap *  _vt_tm,
VertexColorMap *  _vt_cm,
FaceColorMap *  _f_cm,
VertexUVMap *  _vt_uv_m,
HalfedgeUVMap *  _het_uv_m,
FaceMaterialMap *  _m_mm,
bool  has_face_color_map 
)
private

Loads a mesh into the scene, using shaders. Assigns a shader to each mesh, according to its material type (standard - Blinn-Phong/PBR - Cook-Torrance).

Note
The mesh must be a model of HalfedgeGraph concept.
Template Parameters
VertexNormalMapa class of vertex normals map. Associates a normal to a vertex_descriptor.
VertexTangentMapa class of vertex tangents map. Associates a tangent to an vertex_descriptor.
VertexColorMapa class of vertex colors map. Associates a coordinate to a vertex_descriptor.
FaceMaterialMapa class of face materials map. Associates a material to an material index.
Parameters
[in]_geodethe geode which we want to load.
[in]_gthe halfedge graph.
[in]_geometriesthe geometries which we load into the geode.
[in]_geometries_edgesthe superimposed edges geometries which we load into the geode.
[in]_geometries_verticesthe superimposed vertices geometries which we load into the geode.
[in]_vertexArraysthe vertices positions we load into the geode.
[in]_vertexArrays_edgesthe superimposed edges positions we load into the geode.
[in]_vertexArrays_verticesthe superimposed vertices positions we load into the geode.
[in]_normalsArraysthe normals we load into the geode.
[in]_tangentsArraysthe tangents we load into the geode.
[in]_texcoordsArraysthe texture coordinates we load into the geode.
[in]_colorsArraysthe colors we load into the geode.
[in]_colorsArrays_edgesthe superimposed edges colors we load into the geode.
[in]_colorsArrays_verticesthe superimposed vertices colors we load into the geode.
[in]_m_mm_sizethe number of materials.
[in]_texture_typethe texture coordinates setup (by vertex, by halfedge, or none).
[in]_vt_nmthe vertex normals property map.
[in]_vt_tmthe vertex tangents property map.
[in]_vt_cmthe vertex colors property map.
[in]_m_mmthe face materials property map.

Definition at line 615 of file MeshLoading.inl.

Here is the call graph for this function:

◆ isInit()

bool FEVV::SimpleViewer::isInit ( ) const
inlineoverridevirtual

Implements FEVV::BaseViewer.

Definition at line 255 of file SimpleViewer.inl.

◆ isNodeSelected()

bool FEVV::SimpleViewer::isNodeSelected ( osg::Node *  _geode)
inlineoverridevirtual

Implements FEVV::BaseViewerOSG.

Definition at line 3584 of file SimpleViewer.inl.

Here is the caller graph for this function:

◆ isValid()

bool FEVV::SimpleViewer::isValid ( ) const
inlineoverridevirtual

Implements FEVV::BaseViewer.

Definition at line 263 of file SimpleViewer.inl.

◆ redrawMesh()

template<typename HalfedgeGraph , typename PointMap >
void FEVV::SimpleViewer::redrawMesh ( HalfedgeGraph *  _g,
PMapsContainer _pmaps,
PointMap *  _pm = nullptr,
std::string  _mesh_file = std::string("") 
)

Definition at line 3127 of file SimpleViewer.inl.

Here is the call graph for this function:

◆ resetTransformMatrix()

void FEVV::SimpleViewer::resetTransformMatrix ( unsigned int  position)
inline

Reset the transformation matrix of the mesh at a given position.

Note
If there is no mesh at the given positon, an assert will be raised.
Parameters
[in]positionA given position (lower than v_meshes.size()).

Definition at line 3400 of file SimpleViewer.inl.

Here is the caller graph for this function:

◆ saveScreenshot()

bool FEVV::SimpleViewer::saveScreenshot ( const std::string &  _name)
inlineoverridevirtual

Export the current view of the scene into a screenshot (JPEG).

Note
Can not be const due to OSG.
Parameters
[in]_namename of the file to export (without extension).

Implements FEVV::BaseViewer.

Definition at line 312 of file SimpleViewer.inl.

◆ setMatrixVP()

void FEVV::SimpleViewer::setMatrixVP ( osg::Matrix  matrix)
inline

Definition at line 3339 of file SimpleViewer.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setNodeSelected()

void FEVV::SimpleViewer::setNodeSelected ( osg::Node *  _geode,
bool  isSelected 
)
inlineoverridevirtual

Implements FEVV::BaseViewerOSG.

Definition at line 3492 of file SimpleViewer.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ updateSWModelList()

void FEVV::SimpleViewer::updateSWModelList ( )
inline

Definition at line 3480 of file SimpleViewer.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ current_i_time

int FEVV::SimpleViewer::current_i_time

Definition at line 777 of file SimpleViewer.h.

◆ gizmo

osg::ref_ptr< osg::Group > FEVV::SimpleViewer::gizmo

Definition at line 770 of file SimpleViewer.h.

◆ grid

osg::ref_ptr< osg::Group > FEVV::SimpleViewer::grid

Definition at line 771 of file SimpleViewer.h.

◆ hud

osg::ref_ptr< osg::Group > FEVV::SimpleViewer::hud

Definition at line 773 of file SimpleViewer.h.

◆ hudText

osg::ref_ptr< osgText::Text > FEVV::SimpleViewer::hudText

Definition at line 774 of file SimpleViewer.h.

◆ i_time

int FEVV::SimpleViewer::i_time

Definition at line 776 of file SimpleViewer.h.

◆ lights

std::vector< osg::ref_ptr< osg::Light > > FEVV::SimpleViewer::lights
private

Definition at line 745 of file SimpleViewer.h.

◆ v_colorsArrays

std::vector< std::vector< osg::ref_ptr< osg::Vec4Array > > > FEVV::SimpleViewer::v_colorsArrays
protected

Definition at line 764 of file SimpleViewer.h.

◆ v_colorsArrays_custom_vectors

std::vector< std::vector< osg::ref_ptr< osg::Vec4Array > > > FEVV::SimpleViewer::v_colorsArrays_custom_vectors
protected

Definition at line 765 of file SimpleViewer.h.

◆ v_colorsArrays_edges

std::vector< std::vector< osg::ref_ptr< osg::Vec4Array > > > FEVV::SimpleViewer::v_colorsArrays_edges
protected

Definition at line 765 of file SimpleViewer.h.

◆ v_colorsArrays_normals

std::vector< std::vector< osg::ref_ptr< osg::Vec4Array > > > FEVV::SimpleViewer::v_colorsArrays_normals
protected

Definition at line 765 of file SimpleViewer.h.

◆ v_colorsArrays_vertices

std::vector< std::vector< osg::ref_ptr< osg::Vec4Array > > > FEVV::SimpleViewer::v_colorsArrays_vertices
protected

Definition at line 765 of file SimpleViewer.h.

◆ v_draggers1

std::vector< osg::Group * > FEVV::SimpleViewer::v_draggers1
protected

Definition at line 752 of file SimpleViewer.h.

◆ v_draggers2

std::vector< osg::Group * > FEVV::SimpleViewer::v_draggers2
protected

Definition at line 753 of file SimpleViewer.h.

◆ v_geodes

std::vector< osg::Geode * > FEVV::SimpleViewer::v_geodes
protected

Definition at line 755 of file SimpleViewer.h.

◆ v_geometries

std::vector< std::vector< osg::ref_ptr< osg::Geometry > > > FEVV::SimpleViewer::v_geometries
protected

Definition at line 757 of file SimpleViewer.h.

◆ v_geometries_custom_vectors

std::vector< std::vector< osg::ref_ptr< osg::Geometry > > > FEVV::SimpleViewer::v_geometries_custom_vectors
protected

Definition at line 758 of file SimpleViewer.h.

◆ v_geometries_edges

std::vector< std::vector< osg::ref_ptr< osg::Geometry > > > FEVV::SimpleViewer::v_geometries_edges
protected

Definition at line 758 of file SimpleViewer.h.

◆ v_geometries_normals

std::vector< std::vector< osg::ref_ptr< osg::Geometry > > > FEVV::SimpleViewer::v_geometries_normals
protected

Definition at line 758 of file SimpleViewer.h.

◆ v_geometries_vertices

std::vector< std::vector< osg::ref_ptr< osg::Geometry > > > FEVV::SimpleViewer::v_geometries_vertices
protected

Definition at line 758 of file SimpleViewer.h.

◆ v_geometriesL

std::vector< std::vector< osg::ref_ptr< osg::Geometry > > > FEVV::SimpleViewer::v_geometriesL
protected

Definition at line 758 of file SimpleViewer.h.

◆ v_geometriesP

std::vector< std::vector< osg::ref_ptr< osg::Geometry > > > FEVV::SimpleViewer::v_geometriesP
protected

Definition at line 758 of file SimpleViewer.h.

◆ v_meshes_names

std::vector< std::string > FEVV::SimpleViewer::v_meshes_names
protected

Definition at line 750 of file SimpleViewer.h.

◆ v_meshIsSelected

std::vector< bool > FEVV::SimpleViewer::v_meshIsSelected
protected

Definition at line 754 of file SimpleViewer.h.

◆ v_mixed_meshes

MixedMeshesVector FEVV::SimpleViewer::v_mixed_meshes
protected

Definition at line 748 of file SimpleViewer.h.

◆ v_normalsArrays

std::vector< std::vector< osg::ref_ptr< osg::Vec3Array > > > FEVV::SimpleViewer::v_normalsArrays
protected

Definition at line 761 of file SimpleViewer.h.

◆ v_normalsArrays_edges

std::vector< std::vector< osg::ref_ptr< osg::Vec3Array > > > FEVV::SimpleViewer::v_normalsArrays_edges
protected

Definition at line 762 of file SimpleViewer.h.

◆ v_normalsArrays_vertices

std::vector< std::vector< osg::ref_ptr< osg::Vec3Array > > > FEVV::SimpleViewer::v_normalsArrays_vertices
protected

Definition at line 762 of file SimpleViewer.h.

◆ v_normalsArraysF

std::vector< std::vector< osg::ref_ptr< osg::Vec3Array > > > FEVV::SimpleViewer::v_normalsArraysF
protected

Definition at line 762 of file SimpleViewer.h.

◆ v_properties_maps

std::vector< PMapsContainer * > FEVV::SimpleViewer::v_properties_maps
protected

Definition at line 751 of file SimpleViewer.h.

◆ v_tangentsArrays

std::vector< std::vector< osg::ref_ptr< osg::Vec3Array > > > FEVV::SimpleViewer::v_tangentsArrays
protected

Definition at line 763 of file SimpleViewer.h.

◆ v_texcoordsArrays

std::vector< std::vector< osg::ref_ptr< osg::Vec2Array > > > FEVV::SimpleViewer::v_texcoordsArrays
protected

Definition at line 767 of file SimpleViewer.h.

◆ v_vertexArrays

std::vector< std::vector< osg::ref_ptr< osg::Vec3Array > > > FEVV::SimpleViewer::v_vertexArrays
protected

Definition at line 759 of file SimpleViewer.h.

◆ v_vertexArrays_custom_vectors

std::vector< std::vector< osg::ref_ptr< osg::Vec3Array > > > FEVV::SimpleViewer::v_vertexArrays_custom_vectors
protected

Definition at line 760 of file SimpleViewer.h.

◆ v_vertexArrays_edges

std::vector< std::vector< osg::ref_ptr< osg::Vec3Array > > > FEVV::SimpleViewer::v_vertexArrays_edges
protected

Definition at line 760 of file SimpleViewer.h.

◆ v_vertexArrays_normals

std::vector< std::vector< osg::ref_ptr< osg::Vec3Array > > > FEVV::SimpleViewer::v_vertexArrays_normals
protected

Definition at line 760 of file SimpleViewer.h.

◆ v_vertexArrays_vertices

std::vector< std::vector< osg::ref_ptr< osg::Vec3Array > > > FEVV::SimpleViewer::v_vertexArrays_vertices
protected

Definition at line 760 of file SimpleViewer.h.


The documentation for this class was generated from the following files: