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

The ShapeLocator class, inheriting from the Locator class, is specifically designed for determining the geometric extent in geometry scaling operation. More...

#include <locator.h>

Inheritance diagram for cil::ShapeLocator:
cil::Locator cil::AbstractLocator cil::Node cil::Object cil::BoxLocator cil::CylinderLocator cil::SphereLocator cil::BottomBoxLocator cil::BottomCylinderLocator

Public Member Functions

 ShapeLocator ()
 Builds a shape locator with an initialized local matrix which represents the geometric extent in 3D space.
 
virtual ~ShapeLocator ()
 
std::shared_ptr< Matrix4flocal ()
 This function can return the local matrix of the current shape locator.
 
void setLocal (const std::shared_ptr< Matrix4f > &local)
 Sets the local matrix of the current shape locator.
 
void updateHandler ()
 Update the transformation matrix of the shape locator's other handlers once upon the shape locator is updated.
 
- Public Member Functions inherited from cil::Locator
 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 ()
 
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 ()
 

Protected Attributes

std::shared_ptr< Matrix4fm_local
 
std::vector< std::string > m_names
 

Additional Inherited Members

- Public Types inherited from cil::Locator
enum class  Modifier {
  None = 0x0000 , Shift = 0x0200 , Ctrl = 0x0400 , Alt = 0x0800 ,
  Meta = 0x1000
}
 The Modifier enumeration defines various modifier keys for handling different keyboard events. More...
 
- Public Attributes inherited from cil::Locator
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 inherited from cil::Locator
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 ShapeLocator class, inheriting from the Locator class, is specifically designed for determining the geometric extent in geometry scaling operation.

Constructor & Destructor Documentation

◆ ShapeLocator()

cil::ShapeLocator::ShapeLocator ( )

Builds a shape locator with an initialized local matrix which represents the geometric extent in 3D space.

◆ ~ShapeLocator()

virtual cil::ShapeLocator::~ShapeLocator ( )
virtual

Member Function Documentation

◆ local()

std::shared_ptr< Matrix4f > cil::ShapeLocator::local ( )

This function can return the local matrix of the current shape locator.

◆ setLocal()

void cil::ShapeLocator::setLocal ( const std::shared_ptr< Matrix4f > & local)

Sets the local matrix of the current shape locator.

◆ updateHandler()

void cil::ShapeLocator::updateHandler ( )

Update the transformation matrix of the shape locator's other handlers once upon the shape locator is updated.

Member Data Documentation

◆ m_local

std::shared_ptr<Matrix4f> cil::ShapeLocator::m_local
protected

◆ m_names

std::vector<std::string> cil::ShapeLocator::m_names
protected