SOFA API  ea0b18bd
Open source framework for multi-physics simuation
All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Pages
sofa::component::visual Namespace Reference

Classes

class  BaseCamera
 
class  Camera
 
class  CylinderVisualModel
 
class  InteractiveCamera
 
class  LineAxis
 
class  RecordedCamera
 
class  TrailRenderer
 
class  Visual3DText
 Draw camera-oriented (billboard) 3D text. More...
 
class  VisualBoundingBox
 
class  VisualGrid
 
class  VisualModelImpl
 Abstract class which implements partially VisualModel. More...
 
class  VisualPointCloud
 
class  VisualStyle
 VisualStyle component controls the DisplayFlags state embedded in the VisualParams for the current subgraph. It merges the DisplayFlags conveyed by the VisualParams with its own DisplayFlags. More...
 
class  VisualTransform
 
class  VisualVectorField
 

Typedefs

template<class DataTypes >
using CoordDrawMode = std::conditional_t< hasWriteOpenGlMatrix< DataTypes >, OridentedCoordDrawMode, RegularCoordDrawMode >
 

Functions

template<class Real >
bool glhUnProjectf (Real winx, Real winy, Real winz, Real *modelview, Real *projection, const core::visual::VisualParams::Viewport &viewport, Real *objectCoordinate)
 
void BaseCameraXMLExportSingleParameter (tinyxml2::XMLElement *root, core::objectmodel::BaseData &data, const std::string &comment)
 
bool BaseCameraXMLImportSingleParameter (tinyxml2::XMLElement *root, core::objectmodel::BaseData &data, BaseCamera *c)
 
void registerCamera (sofa::core::ObjectFactory *factory)
 
void registerCylinderVisualModel (sofa::core::ObjectFactory *factory)
 
void registerInteractiveCamera (sofa::core::ObjectFactory *factory)
 
void registerLineAxis (sofa::core::ObjectFactory *factory)
 
void registerRecordedCamera (sofa::core::ObjectFactory *factory)
 
void registerTrailRenderer (sofa::core::ObjectFactory *factory)
 
void registerVisual3DText (sofa::core::ObjectFactory *factory)
 
void registerVisualBoundingBox (sofa::core::ObjectFactory *factory)
 
void registerVisualGrid (sofa::core::ObjectFactory *factory)
 
void registerVisualModelImpl (sofa::core::ObjectFactory *factory)
 
void registerVisualPointCloud (sofa::core::ObjectFactory *factory)
 
void registerVisualStyle (sofa::core::ObjectFactory *factory)
 
void registerVisualTransform (sofa::core::ObjectFactory *factory)
 
void registerVisualVectorField (sofa::core::ObjectFactory *factory)
 
SOFA_EXPORT_DYNAMIC_LIBRARY void initExternalModule ()
 
SOFA_EXPORT_DYNAMIC_LIBRARY const chargetModuleName ()
 
SOFA_EXPORT_DYNAMIC_LIBRARY const chargetModuleVersion ()
 
SOFA_EXPORT_DYNAMIC_LIBRARY void registerObjects (sofa::core::ObjectFactory *factory)
 
void init ()
 
 MAKE_SELECTABLE_ITEMS (RegularCoordDrawMode, pointDrawMode, sphereDrawMode)
 
 MAKE_SELECTABLE_ITEMS (OridentedCoordDrawMode, pointDrawMode, sphereDrawMode, frameDrawMode)
 
helper::WriteAccessor< sofa::core::visual::DisplayFlagsaddVisualStyle (simulation::Node::SPtr node)
 
SOFA_COMPONENT_VISUAL_API helper::WriteAccessor< sofa::core::visual::DisplayFlagsaddVisualStyle (simulation::NodeSPtr node)
 
 MAKE_SELECTABLE_ITEMS (VectorFieldDrawMode, sofa::helper::Item{.key="Line",.description="Coordinates are displayed using lines"}, sofa::helper::Item{.key="Cylinder",.description="Coordinates are displayed using cylinders"}, sofa::helper::Item{.key="Arrow",.description="Coordinates are displayed using arrows"},)
 

Variables

constexpr sofa::helper::Item pointDrawMode
 
constexpr sofa::helper::Item sphereDrawMode
 
constexpr sofa::helper::Item frameDrawMode
 
template<class DataTypes >
concept hasWriteOpenGlMatrix
 

Typedef Documentation

◆ CoordDrawMode

template<class DataTypes >
using sofa::component::visual::CoordDrawMode = typedef std::conditional_t< hasWriteOpenGlMatrix<DataTypes>, OridentedCoordDrawMode, RegularCoordDrawMode>

Function Documentation

◆ addVisualStyle() [1/2]

helper::WriteAccessor<sofa::core::visual::DisplayFlags> sofa::component::visual::addVisualStyle ( simulation::Node::SPtr  node)

◆ addVisualStyle() [2/2]

SOFA_COMPONENT_VISUAL_API helper::WriteAccessor<sofa::core::visual::DisplayFlags> sofa::component::visual::addVisualStyle ( simulation::NodeSPtr  node)

◆ BaseCameraXMLExportSingleParameter()

void sofa::component::visual::BaseCameraXMLExportSingleParameter ( tinyxml2::XMLElement *  root,
core::objectmodel::BaseData data,
const std::string &  comment 
)

◆ BaseCameraXMLImportSingleParameter()

bool sofa::component::visual::BaseCameraXMLImportSingleParameter ( tinyxml2::XMLElement *  root,
core::objectmodel::BaseData data,
BaseCamera c 
)

◆ getModuleName()

const char * sofa::component::visual::getModuleName ( )

◆ getModuleVersion()

const char * sofa::component::visual::getModuleVersion ( )

◆ glhUnProjectf()

template<class Real >
bool sofa::component::visual::glhUnProjectf ( Real  winx,
Real  winy,
Real  winz,
Real *  modelview,
Real *  projection,
const core::visual::VisualParams::Viewport viewport,
Real *  objectCoordinate 
)

◆ init()

SOFA_COMPONENT_VISUAL_API void sofa::component::visual::init ( )

◆ initExternalModule()

void sofa::component::visual::initExternalModule ( )

◆ MAKE_SELECTABLE_ITEMS() [1/3]

sofa::component::visual::MAKE_SELECTABLE_ITEMS ( OridentedCoordDrawMode  ,
pointDrawMode  ,
sphereDrawMode  ,
frameDrawMode   
)

◆ MAKE_SELECTABLE_ITEMS() [2/3]

sofa::component::visual::MAKE_SELECTABLE_ITEMS ( RegularCoordDrawMode  ,
pointDrawMode  ,
sphereDrawMode   
)

◆ MAKE_SELECTABLE_ITEMS() [3/3]

sofa::component::visual::MAKE_SELECTABLE_ITEMS ( VectorFieldDrawMode  ,
sofa::helper::Item{.key="Line",.description="Coordinates are displayed using lines"}  ,
sofa::helper::Item{.key="Cylinder",.description="Coordinates are displayed using cylinders"}  ,
sofa::helper::Item{.key="Arrow",.description="Coordinates are displayed using arrows"}   
)

◆ registerCamera()

void sofa::component::visual::registerCamera ( sofa::core::ObjectFactory factory)

◆ registerCylinderVisualModel()

void sofa::component::visual::registerCylinderVisualModel ( sofa::core::ObjectFactory factory)

◆ registerInteractiveCamera()

void sofa::component::visual::registerInteractiveCamera ( sofa::core::ObjectFactory factory)

◆ registerLineAxis()

void sofa::component::visual::registerLineAxis ( sofa::core::ObjectFactory factory)

◆ registerObjects()

void sofa::component::visual::registerObjects ( sofa::core::ObjectFactory factory)

◆ registerRecordedCamera()

void sofa::component::visual::registerRecordedCamera ( sofa::core::ObjectFactory factory)

◆ registerTrailRenderer()

void sofa::component::visual::registerTrailRenderer ( sofa::core::ObjectFactory factory)

◆ registerVisual3DText()

void sofa::component::visual::registerVisual3DText ( sofa::core::ObjectFactory factory)

◆ registerVisualBoundingBox()

void sofa::component::visual::registerVisualBoundingBox ( sofa::core::ObjectFactory factory)

◆ registerVisualGrid()

void sofa::component::visual::registerVisualGrid ( sofa::core::ObjectFactory factory)

◆ registerVisualModelImpl()

void sofa::component::visual::registerVisualModelImpl ( sofa::core::ObjectFactory factory)

◆ registerVisualPointCloud()

void sofa::component::visual::registerVisualPointCloud ( sofa::core::ObjectFactory factory)

◆ registerVisualStyle()

void sofa::component::visual::registerVisualStyle ( sofa::core::ObjectFactory factory)

◆ registerVisualTransform()

void sofa::component::visual::registerVisualTransform ( sofa::core::ObjectFactory factory)

◆ registerVisualVectorField()

void sofa::component::visual::registerVisualVectorField ( sofa::core::ObjectFactory factory)

Variable Documentation

◆ frameDrawMode

constexpr sofa::helper::Item sofa::component::visual::frameDrawMode
inlineconstexpr
Initial value:
{
.key = "Frame", .description = "Coordinates are displayed using oriented frames"}

◆ hasWriteOpenGlMatrix

template<class DataTypes >
concept sofa::component::visual::hasWriteOpenGlMatrix
Initial value:
= requires(typename DataTypes::Coord& c, float glTransform[16])
{
c.writeOpenGlMatrix(glTransform);
}
requires(!CanTypeRebind< _T< A >, _OtherType >) struct Rebind< _T< A >
Specialization for types that do NOT have a nested rebind_to member. In this implementation,...

◆ pointDrawMode

constexpr sofa::helper::Item sofa::component::visual::pointDrawMode
inlineconstexpr
Initial value:
{
.key = "Point", .description = "Coordinates are displayed with points"}

◆ sphereDrawMode

constexpr sofa::helper::Item sofa::component::visual::sphereDrawMode
inlineconstexpr
Initial value:
{
.key = "Sphere", .description = "Coordinates are displayed using spheres"}