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

The BottomBoxLocator, inheriting from the BoxLocator, lacks the shape handler for the negative z-axis face, effectively fixing it. More...

#include <locator.h>

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

Public Member Functions

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

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

Detailed Description

The BottomBoxLocator, inheriting from the BoxLocator, lacks the shape handler for the negative z-axis face, effectively fixing it.

Constructor & Destructor Documentation

◆ BottomBoxLocator()

cil::BottomBoxLocator::BottomBoxLocator ( )

◆ ~BottomBoxLocator()

virtual cil::BottomBoxLocator::~BottomBoxLocator ( )
virtual

Member Function Documentation

◆ update()

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

Scaling the box 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 box undergoes a dual-sided scaling operation.

Reimplemented from cil::BoxLocator.