34#include <NDEVR/SnapPoint.h>
35#include <NDEVR/LineSegment.h>
36#include <NDEVR/Triangle.h>
37#include <NDEVR/Dictionary.h>
38#include <NDEVR/UUID.h>
39#include <NDEVR/Buffer.h>
42 class DesignObjectLookup;
The equivelent of std::vector but with a bit more control. The basic array unit of the library.
Definition Buffer.hpp:56
A core class where all Design Objects including models, materials, and geometries are stored....
Definition DesignObjectLookup.h:65
A hash-based key-value store, useful for quick associative lookups. Key features include:
Definition Dictionary.h:61
A line segment represented by two vertices, a start and end.
Definition Line.hpp:49
Responsible for turning a user interaction into a selection within a DesignObjectLookup.
Definition Selector.h:50
Contains information about a particular point of interest created from a user mouse interaction.
Definition SnapPoint.h:44
SnapLocationType
Definition SnapPoint.h:47
Manages which points are considered interesting based on defined criteria.
Definition SnapsManager.h:50
Dictionary< SnapPoint::SnapLocationType, fltp08 > m_sensitivity
Definition SnapsManager.h:70
void setSensitivity(SnapPoint::SnapLocationType type, fltp08 sensitivity)
bool checkLine(const SelectionInfo &info, const LineSegment< 3, fltp08 > &seg, bool infinite_length, SnapPoint &closest_snap, SnapPoint::SnapLocationType line_snap, SnapPoint::SnapLocationType edge_snap, UUID id, uint04 index, bool is_smooth) const
bool checkVertex(SnapPoint::SnapLocationType snap, const SelectionInfo &info, const Vertex< 3, fltp08 > &point, SnapPoint &closest_snap, UUID id, uint04 index) const
void getSnapPoint(SnapPoint ¤t, const DesignObjectLookup *manager, const SelectionInfo &info, bool use_worldspace) const
SnapPoint getSnapLinePoint(const DesignObjectLookup *manager, const SelectionInfo &info, const SnapPoint &last, const Buffer< std::pair< UUID, uint04 > > &locations_of_interest, bool use_worldspace) const
Dictionary< SnapPoint::SnapLocationType, uint04 > m_priority
Definition SnapsManager.h:71
static String SnapIcon(SnapPoint::SnapLocationType snap_type)
void getSnapLinePoint(SnapPoint ¤t, const DesignObjectLookup *manager, const SelectionInfo &info, const SnapPoint &last, const Buffer< std::pair< UUID, uint04 > > &locations_of_interest, bool use_worldspace) const
SnapPoint getSnapPoint(const DesignObjectLookup *manager, const SelectionInfo &info, bool use_worldspace) const
void setAllEnabled(bool use_snap)
void setSnapEnabled(SnapPoint::SnapLocationType snap, bool use_snap)
Definition SnapsManager.h:65
bool isSnapEnabled(SnapPoint::SnapLocationType snap) const
Definition SnapsManager.h:64
void setPriority(SnapPoint::SnapLocationType type, uint04 priority)
bool checkTriangle(const SelectionInfo &info, const Triangle< 3, fltp08 > &tri, SnapPoint &closest_snap, UUID id, uint04 index, bool is_smooth) const
Dictionary< SnapPoint::SnapLocationType, bool > m_enabled_snaps
Definition SnapsManager.h:69
The core String class for the NDEVR API.
Definition String.h:69
A triangle is a polygon with three edges and three vertices. It is one of the basic shapes in geometr...
Definition Triangle.hpp:138
A universally unique identifier (UUID) is a 128-bit number used to identify information in computer s...
Definition UUID.h:60
A vertex or point. A specific type of Vector used primarily for spacial location information.
Definition Vertex.hpp:48
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...
Definition BaseValues.hpp:96
double fltp08
Defines an alias representing an 8 byte floating-point number.
Definition BaseValues.hpp:149