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

The BottomCylinderLocator, inheriting from the CylinderLocator, lacks the shape handler for the bottom face, effectively fixing it. More...

#include <locator.h>

Inheritance diagram for cil::BottomCylinderLocator:
cil::CylinderLocator cil::ShapeLocator cil::Locator cil::AbstractLocator cil::Node cil::EventWatcher cil::Object

Public Member Functions

 BottomCylinderLocator ()
 
virtual ~BottomCylinderLocator ()
 
virtual void update (const Handler &handler, Modifier modifier=Modifier::None)
 Scaling the cylinder geometry boundaries based on the translation of its shape handlers and keyboard modifier key pressed during the event.
 
- Public Member Functions inherited from cil::CylinderLocator
 CylinderLocator ()
 
virtual ~CylinderLocator ()
 
- Public Member Functions inherited from cil::ShapeLocator
 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.
 
- 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.
 

Additional Inherited Members

- 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.
 
- Protected Attributes inherited from cil::ShapeLocator
std::shared_ptr< Matrix4fm_local
 
std::vector< std::string > m_names
 

Detailed Description

The BottomCylinderLocator, inheriting from the CylinderLocator, lacks the shape handler for the bottom face, effectively fixing it.

Constructor & Destructor Documentation

◆ BottomCylinderLocator()

cil::BottomCylinderLocator::BottomCylinderLocator ( )

◆ ~BottomCylinderLocator()

virtual cil::BottomCylinderLocator::~BottomCylinderLocator ( )
virtual

Member Function Documentation

◆ update()

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

Scaling the cylinder geometry boundaries based on the translation of its shape handlers and keyboard modifier key pressed during the event.

Parameters
handlerThe handler is the one which has been dragged.
modifierThe modifier key provides additional flexibility in controlling the update process. When set to Modifier::SHIFT, the cylinder undergoes a dual-sided scaling operation.

Reimplemented from cil::CylinderLocator.