API Documentation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros
OrientationOperations.h
Go to the documentation of this file.
1#pragma once
2#include "DLLInfo.h"
3#include <NDEVR/Model.h>
4namespace NDEVR
5{
6 class DesignObjectLookup;
8 {
9 public:
11 {
12 e_none
13 , e_specified_angle
14 , e_magnetic_angle
15 , e_two_point_location
16 , e_same_as_model
17 , e_inverse_of_model
18 };
20 explicit OrientationOperations(uint01 dimension, const Model& model);
21
22
23 void clearOrientation(const void* lock = nullptr);
24 void setSpecifiedAngle(const Angle<fltp08>& azimuth, const void* lock = nullptr);
25 void setOffsetAngle(const Angle<fltp08>& azimuth, const void* lock = nullptr);
26 void setMagneticAngle(const Angle<fltp08>& magnetic_angle, const void* lock = nullptr);
27 void setFrontLocation(const Vertex<3, fltp08>& front_location, const void* lock = nullptr);
28 void setBackLocation(const Vertex<3, fltp08>& back_location, const void* lock = nullptr);
29 void setReferencePoints(const Vertex<3, fltp08>& location_a, const Vertex<3, fltp08>& location_b, const void* lock = nullptr);
30 void setReferenceModels(const UUID& front_reference, const UUID& back_reference, const void* lock = nullptr);
31 void setMirrorFromAzimuth(const UUID& reference, const void* lock = nullptr);
32 void setBackReferenceModel(const UUID& reference, bool is_relative, const void* lock = nullptr);
33 void setFrontReferenceModel(const UUID& reference, bool is_relative, const void* lock = nullptr);
34 Vertex<3, fltp08> aziLocationA() const;
35 Vertex<3, fltp08> aziLocationB() const;
36 UUID aziReferenceA() const;
37 UUID aziReferenceB() const;
38 bool isRelative() const;
39 Angle<fltp08> specifiedAngle() const;
40 Angle<fltp08> magneticAngle() const;
41 Angle<fltp08> offsetAngle() const;
42 AzimuthType aziType() const;
43 void setAziType(const AzimuthType& type);
44 void updateAzimuth(DesignObjectLookup* lookup);
45 void updateAzimuth(const void* lock = nullptr);
46 void autoUpdateAzimuthType();
47 String prefix() const;
48 protected:
49 void _setAzimuth(const Angle<fltp08>& azimuth, const void* lock = nullptr);
51 };
52}
#define NDEVR_DESIGN_API
Definition DLLInfo.h:77
Stores an angle in an optimized format.
Definition StringStream.h:352
Definition DesignObjectLookup.h:61
Definition Model.h:54
Definition OrientationOperations.h:8
const uint01 m_dimension
Definition OrientationOperations.h:50
AzimuthType
Definition OrientationOperations.h:11
Definition String.h:40
Definition UUID.h:66
A vertex.
Definition Vertex.hpp:54
Definition ACIColor.h:37
uint8_t uint01
-Defines an alias representing a 1 byte, unsigned integer -Can represent exact integer values 0 throu...
Definition BaseValues.hpp:98