Cumulia Illustrator Rendering Engine v1.0.0
A Rendering engine for industrial CAD/CAE model and optimized for greatest performance
 
Loading...
Searching...
No Matches
cil::Locator Class Reference

The Locator class defines . It has specialized subclasses with methods for interacting with specific Handler objects. More...

#include <locator.h>

Inheritance diagram for cil::Locator:
cil::AbstractLocator cil::Node cil::EventWatcher cil::Object cil::ArrowLocator cil::PlaneLocator cil::PositionLocator cil::ShapeLocator cil::DiskLocator cil::OrientationLocator cil::BoxLocator cil::CylinderLocator cil::SphereLocator cil::BottomBoxLocator cil::BottomCylinderLocator

Public Member Functions

 Locator ()
 
virtual ~Locator ()
 
void setTransform (const Matrix4f &transform)
 Sets the transform matrix of this locator node.
 
virtual void update (const Handler &handler, Modifier modifier=Modifier::None)
 
- Public Member Functions inherited from cil::AbstractLocator
 AbstractLocator ()
 
virtual ~AbstractLocator ()
 
- Public Member Functions inherited from cil::Object
 Object ()
 
virtual ~Object ()
 
- Public Member Functions inherited from cil::EventWatcher
 EventWatcher ()
 
virtual ~EventWatcher ()
 
void bind (const std::string &name, EventCallback callback)
 Binds a callback function to a specific event name.
 
void send (const std::string &name)
 Triggers an event by its name.
 

Public Attributes

std::vector< std::shared_ptr< Handler > > handlers
 Handler is the draggable part of a Locator. A locator has one or multiple handlers which prodivde different interaction methods.
 
- Public Attributes inherited from cil::Node
std::string name
 This memeber stores the name of the node.
 
std::shared_ptr< Meshmesh
 This member is a shared pointer to a Mesh object, which means the node has a 3D object with its geometry defined by a mesh.
 
std::shared_ptr< std::vector< std::shared_ptr< Node > > > children
 This member is a dynamic array of shared pointers to the child Node objects. This allows the node to have a tree-like hierarchical structure.
 
std::shared_ptr< Matrix4ftransform
 This member is a shared pointer to a Matrix4f object. This matrix represents the transformation(position, rotation, scale) applied to the current node and its descendants.
 
std::shared_ptr< BoundingBoxboundingBox
 This member is a shared pointer to a BoundingBox.
 
std::shared_ptr< Materialmaterial
 This member is a shared pointer to a Mateiral object, which means the node can have its own material properties defining its appearance(color, texture, etc).
 
std::shared_ptr< Geometrygeometry
 This member is a shared pointer to a Geometry object, which maybe used for specific geometric data relevant to the node, potentially associated with the mesh or for other rendering purposes.
 
std::shared_ptr< Queryquery
 This member is a shared pointer to a Query object, and it is some type of query operation performed on the node or its descendants.
 

Static Public Attributes

static std::map< std::string, Vector3ftrans
 This declaration defines a map object named trans which associates string keys with Vector3f values. The vector3f value represents a 3D vector defining the translation direction.
 
static std::map< std::string, Matrix4frot
 Similar to the map of trans, the vector3f value in this map represents a 3D vector defining the rotation axis.
 

Detailed Description

The Locator class defines . It has specialized subclasses with methods for interacting with specific Handler objects.

Constructor & Destructor Documentation

◆ Locator()

cil::Locator::Locator ( )

◆ ~Locator()

virtual cil::Locator::~Locator ( )
virtual

Member Function Documentation

◆ setTransform()

void cil::Locator::setTransform ( const Matrix4f & transform)

Sets the transform matrix of this locator node.

◆ update()

virtual void cil::Locator::update ( const Handler & handler,
Modifier modifier = Modifier::None )
virtual

Member Data Documentation

◆ handlers

std::vector<std::shared_ptr<Handler> > cil::Locator::handlers

Handler is the draggable part of a Locator. A locator has one or multiple handlers which prodivde different interaction methods.

◆ rot

std::map<std::string, Matrix4f> cil::Locator::rot
static

Similar to the map of trans, the vector3f value in this map represents a 3D vector defining the rotation axis.

◆ trans

std::map<std::string, Vector3f> cil::Locator::trans
static

This declaration defines a map object named trans which associates string keys with Vector3f values. The vector3f value represents a 3D vector defining the translation direction.