Cumulia Illustrator Rendering Engine v1.1.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::Object

Public Types

enum class  BindMode { None = 0x0000 , Center = 0x0001 , Bottom = 0x0002 , Corner = 0x0003 }
 The BindMode enumeration defines different ways to combine two locators. More...
 

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)
 Sets the transformation matrix of two locator nodes and the local matrix of the shape locator node.
 
const Matrix4fmatrix () const
 
void setBindMode (BindMode mode)
 Sets the method for combining the two locators.
 
BindMode bindMode () const
 
- Public Member Functions inherited from cil::AbstractLocator
 AbstractLocator ()
 
virtual ~AbstractLocator ()
 
void bind (const std::string &name, std::function< void()> callback)
 
void unbind (const std::string &name)
 
void send (const std::string &name)
 
- Public Member Functions inherited from cil::Object
 Object ()
 
virtual ~Object ()
 

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.

Member Enumeration Documentation

◆ BindMode

The BindMode enumeration defines different ways to combine two locators.

Enumerator
None 
Center 
Bottom 
Corner 

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

◆ bindMode()

BindMode cil::CompositeLocator::bindMode ( ) const

◆ matrix()

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

◆ setBindMode()

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

Sets the method for combining the two locators.

◆ setMatrix()

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

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