API Documentation
Loading...
Searching...
No Matches
SnapPoint.h
Go to the documentation of this file.
1/*--------------------------------------------------------------------------------------------
2Copyright (c) 2019, NDEVR LLC
3tyler.parke@ndevr.org
4 __ __ ____ _____ __ __ _______
5 | \ | | | __ \ | ___|\ \ / / | __ \
6 | \ | | | | \ \ | |___ \ \ / / | |__) |
7 | . \| | | |__/ / | |___ \ V / | _ /
8 | |\ |_|_____/__|_____|___\_/____| | \ \
9 |__| \__________________________________| \__\
10
11Subject to the terms of the Enterprise+ Agreement, NDEVR hereby grants
12Licensee a limited, non-exclusive, non-transferable, royalty-free license
13(without the right to sublicense) to use the API solely for the purpose of
14Licensee's internal development efforts to develop applications for which
15the API was provided.
16
17The above copyright notice and this permission notice shall be included in all
18copies or substantial portions of the Software.
19
20THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
21INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
22PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
23FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
24OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
25DEALINGS IN THE SOFTWARE.
26
27Library: Design
28File: SnapPoint
29Included in API: True
30Author(s): Tyler Parke
31 *-----------------------------------------------------------------------------------------**/
32#pragma once
33#include <NDEVR/Vertex.h>
34#include <NDEVR/UUID.h>
35#include <NDEVR/LineSegment.h>
36#include <NDEVR/Buffer.h>
37#include <NDEVR/Matrix.h>
38namespace NDEVR
39{
40 /**--------------------------------------------------------------------------------------------------
41 \brief Contains information about a particular point of interest created from a user mouse interaction
42 **/
100}
101
102
103
The equivelent of std::vector but with a bit more control. The basic array unit of the library.
Definition Buffer.hpp:56
A line segment represented by two vertices, a start and end.
Definition Line.hpp:49
Definition Matrix.hpp:176
Contains information about a particular point of interest created from a user mouse interaction.
Definition SnapPoint.h:44
bool operator==(const SnapPoint &point) const
Definition SnapPoint.h:83
UUID layer_id
Definition SnapPoint.h:88
uint04 index_id
Definition SnapPoint.h:90
UUID geometry_id
Definition SnapPoint.h:89
fltp08 closest_snap_distance
Definition SnapPoint.h:97
LineSegment< 3, fltp08 > prefered_line
Definition SnapPoint.h:92
UUID model_id
Definition SnapPoint.h:87
SnapLocationType
Definition SnapPoint.h:47
@ e_center
Definition SnapPoint.h:54
@ e_tangent
Definition SnapPoint.h:59
@ e_perpendicular
Definition SnapPoint.h:57
@ e_no_snap
Definition SnapPoint.h:48
@ e_y
Definition SnapPoint.h:66
@ e_endpoint
Definition SnapPoint.h:52
@ e_model_node
Definition SnapPoint.h:55
@ e_point
Definition SnapPoint.h:49
@ e_normal
Definition SnapPoint.h:61
@ e_x
Definition SnapPoint.h:65
@ e_on_face
Definition SnapPoint.h:63
@ e_midpoint
Definition SnapPoint.h:53
@ e_extension
Definition SnapPoint.h:58
@ e_edge
Definition SnapPoint.h:51
@ e_snap_type_size
Definition SnapPoint.h:69
@ e_z
Definition SnapPoint.h:67
@ e_parallel
Definition SnapPoint.h:60
SnapPoint()
Definition SnapPoint.h:71
uint04 vertex_id
Definition SnapPoint.h:91
SnapLocationType location_type
Definition SnapPoint.h:94
Buffer< SnapLocationType > all_types
Definition SnapPoint.h:95
Vertex< 3, fltp08 > location
Definition SnapPoint.h:96
Matrix< fltp08 > geometry_transform
Definition SnapPoint.h:93
bool is_smooth
Definition SnapPoint.h:98
A universally unique identifier (UUID) is a 128-bit number used to identify information in computer s...
Definition UUID.h:60
A fixed-size array with better performance compared to dynamic containers.
Definition Vector.hpp:60
A vertex or point. A specific type of Vector used primarily for spacial location information.
Definition Vertex.hpp:48
Definition ACIColor.h:37
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
Defines for a given type (such as sint04, fltp08, UUID, etc) a maximum, minimum, and reserved 'invali...
Definition BaseValues.hpp:233