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::CompositeLocator Class Reference

The CompositeLocator class inheriting from AbstractLocator class, represents a locator composed of two different locator types. These types are typically a position or orientation locator and a shape locator. More...

#include <compositelocator.h>

Inheritance diagram for cil::CompositeLocator:
cil::AbstractLocator cil::Node cil::EventWatcher cil::Object

Public Member Functions

 CompositeLocator (const std::shared_ptr< Locator > &origin, const std::shared_ptr< ShapeLocator > &shape)
 Builds the composite locator with two child locators, one is the Locator type, and the other is the ShapeLocator type.
 
virtual ~CompositeLocator ()
 
void setMatrix (const Matrix4f &matrix) const
 Sets the transformation matrix of two locator nodes and the local matrix of the shape locator node.
 
void setBindMode (BindMode mode)
 Sets the method for combining the two locators.
 
- 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::shared_ptr< Locatororigin
 
std::shared_ptr< ShapeLocatorshape
 
- 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.
 

Detailed Description

The CompositeLocator class inheriting from AbstractLocator class, represents a locator composed of two different locator types. These types are typically a position or orientation locator and a shape locator.

Constructor & Destructor Documentation

◆ CompositeLocator()

cil::CompositeLocator::CompositeLocator ( const std::shared_ptr< Locator > & origin,
const std::shared_ptr< ShapeLocator > & shape )

Builds the composite locator with two child locators, one is the Locator type, and the other is the ShapeLocator type.

◆ ~CompositeLocator()

virtual cil::CompositeLocator::~CompositeLocator ( )
virtual

Member Function Documentation

◆ setBindMode()

void cil::CompositeLocator::setBindMode ( BindMode mode)

Sets the method for combining the two locators.

◆ setMatrix()

void cil::CompositeLocator::setMatrix ( const Matrix4f & matrix) const

Sets the transformation matrix of two locator nodes and the local matrix of the shape locator node.

Member Data Documentation

◆ origin

std::shared_ptr<Locator> cil::CompositeLocator::origin

◆ shape

std::shared_ptr<ShapeLocator> cil::CompositeLocator::shape