API Documentation
Loading...
Searching...
No Matches
CADEntities.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: CAD
28File: CADEntities
29Included in API: True
30Author(s): Tyler Parke
31 *-----------------------------------------------------------------------------------------**/
32#pragma once
33#include <utility>
34#include "Base/Headers/File.h"
35#include "Base/Headers/Angle.h"
36#include "Base/Headers/Line.hpp"
37#include "Base/Headers/Font.h"
39namespace NDEVR
40{
41 /**--------------------------------------------------------------------------------------------------
42 \brief Modes that CAD can use to color objects
43 **/
51 /**--------------------------------------------------------------------------------------------------
52 \brief Stores CAD details about PaperSpace or 2D document space
53 **/
73 /**--------------------------------------------------------------------------------------------------
74 \brief Stores color information for interfacing with CAD
75 **/
77 {
80 bool operator==(const CADColorInfo& other) const
81 {
82 return mode == other.mode && color == other.color;
83 }
84 bool operator!=(const CADColorInfo& other) const
85 {
86 return mode != other.mode || color != other.color;
87 }
88 };
89
90 /**--------------------------------------------------------------------------------------------------
91 \brief A variable shared between NDEVR and CAD
92 **/
94 {
105 : label(label)
106 {}
107 CADVariable(const String& label, sint04 key_label, const fltp08& value)
108 : label(label)
109 {
111 values.add({key_label , String(value) });
112 }
113 CADVariable(const String& label, sint04 key_label, const uint04& value)
114 : label(label)
115 {
117 values.add({ key_label , String(value) });
118 }
119 CADVariable(const String& label, sint04 key_label, const String& value)
120 : label(label)
121 {
123 values.add({ key_label , String(value) });
124 }
126 : label(label)
127 {
129 values.add({ 10 , String(data[X]) });
130 values.add({ 20 , String(data[Y]) });
131 }
133 : label(label)
134 {
136 values.add({ 10 , String(data[X]) });
137 values.add({ 20 , String(data[Y]) });
138 values.add({ 30 , String(data[Z]) });
139 }
143 };
144 /**--------------------------------------------------------------------------------------------------
145 \brief A handle used to reference an object in CAD
146 **/
153
154 /**--------------------------------------------------------------------------------------------------
155 \brief An entity in CAD which has a layer and other handle information
156 **/
170
171 /**--------------------------------------------------------------------------------------------------
172 \brief Layer information shared with CAD
173 **/
191
192 /**--------------------------------------------------------------------------------------------------
193 \brief A block structure (Similar to a Model) used to share data with CAD.
194 **/
205 /**--------------------------------------------------------------------------------------------------
206 \brief Data for extruding an object onto a plane in CAD
207 **/
213
214 /**--------------------------------------------------------------------------------------------------
215 \brief information for a type of line in CAD
216 **/
218 {
219 LineTypeData(const String& name, const String& description, int flags, uint04 numberOfDashes, double patternLength)
220 : name(name)
222 , flags(flags)
223 , number_of_dashes(numberOfDashes)
224 , pattern_length(patternLength)
225 {}
226 LineTypeData(const String& name, const String& description, int flags, uint04 numberOfDashes, double patternLength, const Buffer<fltp08>& pattern)
227 : name(name)
229 , flags(flags)
230 , number_of_dashes(numberOfDashes)
231 , pattern_length(patternLength)
233 {}
240 };
241 /**--------------------------------------------------------------------------------------------------
242 \brief logic for storing a style data in a CAD-friendly way for exporting and importing.
243 **/
245 {
247 : name()
248 , flags(0)
250 , width_factor(1.0)
251 , oblique_angle(0.0)
256 , bold(false)
257 , italic(false)
258 {}
259 StyleData(const String& name, int flags, double fixedTextHeight, double widthFactor, double obliqueAngle,
260 int textGenerationFlags, double lastHeightUsed, const String& primaryFontFile, const String& bigFontFile)
261 : name(name)
262 , flags(flags)
263 , fixed_text_height(fixedTextHeight)
264 , width_factor(widthFactor)
265 , oblique_angle(obliqueAngle)
266 , text_generation_flags(textGenerationFlags)
267 , last_height_used(lastHeightUsed)
268 , primary_font_file(primaryFontFile)
269 , big_font_file(bigFontFile)
270 , bold(false)
271 , italic(false)
272 {}
273
274 bool operator==(const StyleData& other) const
275 {
276 // ignore lastHeightUsed:
277 return (name == other.name && flags == other.flags && fixed_text_height == other.fixed_text_height &&
278 width_factor == other.width_factor && oblique_angle == other.oblique_angle && /*textGenerationFlags == other.textGenerationFlags &&*/
280 }
282 int flags;
290 bool bold;
291 bool italic;
292 };
293 /**--------------------------------------------------------------------------------------------------
294 \brief logic for storing a arc data in a CAD-friendly way for exporting and importing.
295 **/
296 struct ArcData : public ExtrusionData, public EntityData
297 {
298 ArcData(const Vector<3, fltp08>& center_point, fltp08 aRadius, Angle<fltp08> aAngle1, Angle<fltp08> aAngle2)
299 : offset(center_point)
300 , radius(aRadius)
302 , angle1(aAngle1)
303 , angle2(aAngle2)
304 {}
305
311 };
312
313 /**--------------------------------------------------------------------------------------------------
314 \brief logic for storing a polyline data in a CAD-friendly way for exporting and importing.
315 **/
316 struct PolylineData : public ExtrusionData, public EntityData
317 {
319 {
320 e_closed//This is a closed polyline (or a polygon mesh closed in the M direction).
321 , e_curve_fits//Curve-fit vertices have been added.
322 , e_spline_fits//Spline-fit vertices have been added.
323 , e_is_3D_polyline//This is a 3D polyline.
324 , e_is_3D_polygon//This is a 3D polygon mesh.
325 , e_is_closed_n//The polygon mesh is closed in the N direction.
326 , e_is_polyface_mesh//The polyline is a polyface mesh.
327 , e_line_continuous//The linetype pattern is generated continuously around the vertices of this polyline.
328 };
330 {
331 e_no_smooth = 0
335 };
341 uint04 m = Constant<uint04>::Invalid;//Number of vertices in m direction if polyline is a polygon mesh.
342 uint04 n = Constant<uint04>::Invalid;//Number of vertices in n direction if polyline is a polygon mesh.
344 };
345 /**--------------------------------------------------------------------------------------------------
346 \brief logic for storing a trace data in a CAD-friendly way for exporting and importing.
347 **/
358 /**--------------------------------------------------------------------------------------------------
359 \brief logic for storing a spline data in a CAD-friendly way for exporting and importing.
360 **/
375 /**--------------------------------------------------------------------------------------------------
376 \brief Stores mesh data in a way optimized for CAD
377 **/
410 /**--------------------------------------------------------------------------------------------------
411 \brief Stores text data that may have an attachment point and direction for interfacing with CAD
412 **/
414 {
416 Vector<2, fltp08> size, int attachmentPoint, int drawingDirection,
417 int lineSpacingStyle, fltp04 lineSpacingFactor, const String& text, const String& style, Angle<fltp08> angle)
419 , direction_vector(direction)
420 , text_size(size)
421 , attachment_point(attachmentPoint)
422 , drawing_direction(drawingDirection)
423 , line_spacing_style(lineSpacingStyle)
424 , line_spacing_factor(lineSpacingFactor)
425 , text(text)
426 , style(style)
427 , angle(angle)
428 {}
432 /**
433 * Attachment point.
434 *
435 * 1 = Top left, 2 = Top center, 3 = Top right,
436 * 4 = Middle left, 5 = Middle center, 6 = Middle right,
437 * 7 = Bottom left, 8 = Bottom center, 9 = Bottom right
438 */
440 int drawing_direction;//1 = left to right, 3 = top to bottom, 5 = by style
441 int line_spacing_style;//1 = at least, 2 = exact
446 };
447 /**--------------------------------------------------------------------------------------------------
448 \brief logic for storing a text data in a CAD-friendly way for exporting and importing.
449 **/
466 /**--------------------------------------------------------------------------------------------------
467 \brief logic for storing a attribue data in a CAD-friendly way for exporting and importing.
468 **/
483 /**--------------------------------------------------------------------------------------------------
484 \brief logic for storing a circle data in a CAD-friendly way for exporting and importing.
485 **/
491
492 /**--------------------------------------------------------------------------------------------------
493 \brief Stores Ellipse information for interfacing with CAD
494 **/
504
505 /**--------------------------------------------------------------------------------------------------
506 \brief A CAD-friendly way to store line segment information.
507 **/
513
514 /**--------------------------------------------------------------------------------------------------
515 \brief Data about where to place an object, used for interfacing with CAD.
516 **/
523
524 /**--------------------------------------------------------------------------------------------------
525 \brief Information for how to place a CAD block within a scene (Similar to Model).
526 **/
534
535 /**--------------------------------------------------------------------------------------------------
536 \brief Point data stored in a friendly way for interfacing with CAD.
537 **/
544
545 /**--------------------------------------------------------------------------------------------------
546 \brief Dimensional measurements stored in a CAD-friendly way.
547 **/
548 struct DimensionData : public ExtrusionData, public EntityData
549 {
552 /**
553 * Dimension type.
554 *
555 * 0 Rotated, horizontal, or vertical
556 * 1 Aligned
557 * 2 Angular
558 * 3 Diametric
559 * 4 Radius
560 * 5 Angular 3-point
561 * 6 Ordinate
562 * 64 Ordinate type. This is a bit value (bit 7)
563 * used only with integer value 6. If set,
564 * ordinate is X-type; if not set, ordinate is
565 * Y-type
566 * 128 This is a bit value (bit 8) added to the
567 * other group 70 values if the dimension text
568 * has been positioned at a user-defined
569 * location rather than at the default location
570 */
571 int type;
573 int line_spacing_style;//1 = at least, 2 = exact
574 fltp08 line_spacing_factor;//line spacing factor 0.25-4.0
575 String text;//Text string entered explicitly by user or "<>" for the actual measurement or " " (one blank space). for supressing the text.
576 String dimension_style;// Dimension style (font name)
577 Angle<fltp08> angle;//Rotation angle of dimension text away from default orientation.
578 double linear_factor;//style override.
579 double dim_scale;//scale
583 };
584
585 /**--------------------------------------------------------------------------------------------------
586 \brief A CAD measurement similar to AngleMeasurementModel
587 **/
596 /**--------------------------------------------------------------------------------------------------
597 \brief A CAD measurement similar to DistanceMeasurementModel
598 **/
609
610 /**--------------------------------------------------------------------------------------------------
611 \brief A container for information pointing to a CAD dictionary in CAD memory.
612 **/
626 /**--------------------------------------------------------------------------------------------------
627 \brief logic for storing a radial dimension in a CAD-friendly way for exporting and importing.
628 **/
630 {
633 , leader(dleader)
634 {}
635
637 fltp08 leader;//Leader length
638 };
639 /**--------------------------------------------------------------------------------------------------
640 \brief logic for storing an diametric dimension in a CAD-friendly way for exporting and importing.
641 **/
643 {
646 , leader(dleader)
647 {}
649 fltp08 leader;//Leader length
650 };
651
652 /**--------------------------------------------------------------------------------------------------
653 \brief logic for storing an angular dimension in a CAD-friendly way for exporting and importing.
654 **/
655 template<uint04 t_data_count>
657 {
658 AngularDimensionData(const Vector<3, fltp08>& def_point_1, const Vector<3, fltp08>& def_point_2, const Vector<3, fltp08>& def_point_3)
659 {
660 static_assert(t_data_count == 3, "Wrong Argument Count");
661 def_points[0] = def_point_1;
662 def_points[1] = def_point_2;
663 def_points[2] = def_point_3;
664 }
665 AngularDimensionData(const Vector<3, fltp08>& def_point_1, const Vector<3, fltp08>& def_point_2,
666 const Vector<3, fltp08>& def_point_3, const Vector<3, fltp08>& def_point_4)
667 {
668 static_assert(t_data_count == 4, "Wrong Argument Count");
669 def_points[0] = def_point_1;
670 def_points[1] = def_point_2;
671 def_points[2] = def_point_3;
672 def_points[3] = def_point_4;
673 }
675 };
676 /**--------------------------------------------------------------------------------------------------
677 \brief logic for storing an ordinate dimension in a CAD-friendly way for exporting and importing.
678 **/
679 struct DimOrdinateData : public LineSegment<3, fltp08>, public DimensionData
680 {
682 : LineSegment<3, fltp08>(p1, p2)
683 , xtype(type)
684 {}
685
687 : LineSegment<3, fltp08>(dimension)
688 , xtype(type)
689 {}
690 bool xtype;//True if the dimension indicates the X-value, false for Y-value
691 };
692 /**--------------------------------------------------------------------------------------------------
693 \brief logic for storing a leader in a CAD-friendly way for exporting and importing.
694 **/
695 struct LeaderData : public EntityData
696 {
698 {
699 e_segments = 0
701 };
710 LeaderData(bool lArrowHeadFlag, LeaderPathType lLeaderPathType, int lLeaderCreationFlag, int lHooklineDirectionFlag
711 , int lHooklineFlag, fltp08 lTextAnnotationHeight, fltp08 lTextAnnotationWidth)
712 : text_annotation_size(lTextAnnotationWidth, lTextAnnotationHeight)
713 , use_arrowhead(lArrowHeadFlag)
714 , leader_path_type(lLeaderPathType)
715 , leader_creation_flag(lLeaderCreationFlag)
716 , hookline_direction_flag(lHooklineDirectionFlag)
717 , hookline_flag(lHooklineFlag)
718 {}
719
721 bool use_arrowhead;//Arrow head flag
723 BitFlag leader_creation_flag;//Leader creation flag
725 BitFlag hookline_flag;//Hookline flag
726 };
727 /**--------------------------------------------------------------------------------------------------
728 \brief logic for storing a hatch-data in a CAD-friendly way for exporting and importing.
729
730 Hatch patterns in CAD play an important role in architectural and mechanical drawings as they can be
731 used to identify and locate different types of materials, objects and space, to show materials used,
732 surface qualities, or add realism to a drawing.
733 **/
735 {
742
743 HatchData(uint04 numLoops, bool solid, fltp08 scale, const Angle<fltp08>& angle, String pattern, const Vector<2, fltp08>& origin)
744 : pattern_origin(origin)
745 , pattern_name(std::move(pattern))
746 , scale(scale)
747 , num_loops(numLoops)
748 , angle(angle)
749 , is_solid(solid)
750 {}
757 };
758 /**--------------------------------------------------------------------------------------------------
759 \brief Provides loops of data for the CAD hatch pattern.
760 **/
762 {
767 : num_of_edges(num_edges)
768 {}
770 };
771 /**--------------------------------------------------------------------------------------------------
772 \brief Stores information about the edge of a CAD hatch pattern.
773 **/
775 {
804
821
822 HatchEdgeData(const Vector<2, fltp08>& center, const Vector<2, fltp08>& axis_major_point, double ratio, Angle<fltp08> angle1, Angle<fltp08> angle2, bool ccw)
824 , center_point(center)
829 , angle_start(angle1)
830 , angle_end(angle2)
831 , axis_ratio(ratio)
833 , degree(0)
834 , rational(false)
835 , periodic(false)
836 , is_ccw(ccw)
837 {}
838
864 {
865 e_undefined = 0
866 , e_line = 1
867 , e_arc = 2
870 };
874
877
883
888
893 bool is_ccw;
894
895 };
896
897 /**--------------------------------------------------------------------------------------------------
898 \brief logic for storing a viewport in a CAD-friendly way for exporting and importing.
899 **/
900 struct ViewportData : public EntityData
901 {
907 Vector<3, fltp08> view_direction = Vector<3, fltp08>(0.0, 0.0, 1.0);//View Direction FROM target point
913 String id = "*Active";
914 enum Flags
915 {
916 e_perspective //1 (0x1) = Enables perspective mode
917 , e_enable_front_clipping //2 (0x2) = Enables front clipping
918 , e_enable_back_clipping // 4 (0x4) = Enables back clipping
919 , e_enable_ucs_follow //8 (0x8) = Enables UCS follow
920 , e_enable_front_clip // 16 (0x10) = Enables front clip not at eye
921 , e_enable_icon_visible // 32 (0x20) = Enables UCS icon visibility
922 , e_enable_ucs_icon_at_origin// 64 (0x40) = Enables UCS icon at origin
923 , e_enable_fast_zoom //128 (0x80) = Enables fast zoom
924 , e_enable_snaps // 256 (0x100) = Enables snap mode
925 , e_enable_grids // 512 (0x200) = Enables grid mode
926 , e_enable_iso_snap //1024 (0x400) = Enables isometric snap style
927 , e_enable_hide_plot // 2048 (0x800) = Enables hide plot mode
928 , e_is_pair_top // 4096 (0x1000) = kIsoPairTop.If set and kIsoPairRight is not set, then isopair top is enabled.If both kIsoPairTop and kIsoPairRight are set, then isopair left is enabled
929 , e_iso_pair_right // 8192 (0x2000) = kIsoPairRight.If set and kIsoPairTop is not set, then isopair right is enabled
930 , e_enable_viewport_zoom_lock //16384 (0x4000) = Enables viewport zoom locking
931 , e_always_enabled // 32768 (0x8000) = Currently always enabled
932 , e_enable_non_rect_clipping // 65536 (0x10000) = Enables non - rectangular clipping
933 , e_viewport_off // 131072 (0x20000) = Turns the viewport off
934 , e_grid_beyond_limits // 262144 (0x40000) = Enables the display of the grid beyond the drawing limits
935 , e_adaptive_grid // 524288 (0x80000) = Enable adaptive grid display
936 , e_grid_subdivide // 1048576 (0x100000) = Enables subdivision of the grid below the set grid spacing when the grid display is adaptive
937 , e_grid_follows_workplane // 2097152 (0x200000) = Enables grid follows workplane switching
938 };
958 bool has_grid = false;
961 };
962
963 /**--------------------------------------------------------------------------------------------------
964 \brief logic for storing a image data in a CAD-friendly way for exporting and importing.
965 **/
967 {
969 , Vector<3, fltp08> left_side, int iwidth, int iheight, uint01 ibrightness = 50, uint01 icontrast = 50, uint01 ifade = 0)
970 : ref(iref)
974 , image_size(iwidth, iheight)
975 , brightness(ibrightness)
976 , contrast(icontrast)
977 , fade(ifade)
978 {}
979
985
986 uint01 brightness; //Brightness (0-100, default = 50).
987 uint01 contrast;//Contrast (0-100, default = 50).
988 uint01 fade;//Fade (0-100, default = 0)
989 };
990
991 /**--------------------------------------------------------------------------------------------------
992 \brief UVOptions used for interfacing with CAD, similar to those used by a Material object.
993 **/
1000 /**--------------------------------------------------------------------------------------------------
1001 \brief Provides CAD information for managing images attached to a Material.
1002 **/
1010
1011 /**--------------------------------------------------------------------------------------------------
1012 \brief A DXF friendly material class which contains UV properties similar to a Material object.
1013 **/
1026
1027 /**--------------------------------------------------------------------------------------------------
1028 \brief A type of entity in CAD representing several entities grouped together.
1029 **/
1038
1039 /**--------------------------------------------------------------------------------------------------
1040 \brief Stores the definition of an Image for easy interface with CAD
1041 **/
1043 {
1044 ImageDefData(const String& iref, const File& ifile)
1045 : ref(iref)
1046 , file(ifile)
1047 {}
1048 String ref;//Reference to the image file (unique, used to refer to the image def object).
1050 };
1051 /**--------------------------------------------------------------------------------------------------
1052 \brief logic for storing a extrusion data in a CAD-friendly way for exporting and importing.
1053 **/
1055 {
1056 public:
1058 : m_direction(0)
1059 , m_elevation(0)
1060 {}
1061
1062 Extrusion(Vector<3, fltp08> direction, fltp08 elevation)
1063 : m_direction(direction)
1064 , m_elevation(elevation)
1065 {}
1066
1068 {
1069 m_direction[0] = dx;
1070 m_direction[1] = dy;
1071 m_direction[2] = dz;
1072 }
1073
1074 Vector<3, fltp08> getDirection() const { return m_direction; }
1075 void setElevation(double elevation) { m_elevation = elevation; }
1076 fltp08 getElevation() const { return m_elevation; }
1077 private:
1078 Vector<3, fltp08> m_direction;
1079 fltp08 m_elevation;
1080 };
1081}
1082
The primary angle storage class for this API. Stores an angle in an optimized format.
Definition StringStream.h:540
A bitset that stores 8 bits (elements with only two possible values: 0 or 1, true or false,...
Definition BitFlag.hpp:55
A specification of upper and lower bounds in N-dimensions.
Definition Bounds.hpp:52
constexpr Ray< t_dims, t_type > span() const
The side lengths of these bounds. For each dimension, the span is max - min.
Definition Bounds.hpp:111
The equivelent of std::vector but with a bit more control. The basic array unit of the library.
Definition Buffer.hpp:56
void add(t_type &&object)
Adds object to the end of the buffer.
Definition Buffer.hpp:186
logic for storing a extrusion data in a CAD-friendly way for exporting and importing.
Definition CADEntities.h:1055
fltp08 getElevation() const
Definition CADEntities.h:1076
void setDirection(fltp08 dx, fltp08 dy, fltp08 dz)
Definition CADEntities.h:1067
Extrusion()
Definition CADEntities.h:1057
void setElevation(double elevation)
Definition CADEntities.h:1075
Extrusion(Vector< 3, fltp08 > direction, fltp08 elevation)
Definition CADEntities.h:1062
Vector< 3, fltp08 > getDirection() const
Definition CADEntities.h:1074
Logic for reading or writing to a file as well as navigating filesystems.
Definition File.h:48
A line segment represented by two vertices, a start and end.
Definition Line.hpp:49
Definition Matrix.hpp:176
constexpr Matrix offset(const Vector< 2, t_type > &translation) const
Definition Matrix.hpp:564
constexpr Matrix scale(t_type scale) const
Definition Matrix.hpp:582
Represents a color in the RGB space with optional alpha transparency.
Definition RGBColor.h:54
A radial object.
Definition RadialObject.hpp:52
The core String class for the NDEVR API.
Definition String.h:69
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
int32_t sint04
-Defines an alias representing a 4 byte, signed integer. -Can represent exact integer values -2147483...
Definition BaseValues.hpp:64
constexpr bool IsInvalid(const t_type &value)
Query if 'value' is valid or invalid. Invalid values should return invalid if used for calculations o...
Definition BaseFunctions.hpp:170
ColorMode
Modes that CAD can use to color objects.
Definition CADEntities.h:45
@ e_background_contrast
Definition CADEntities.h:49
@ e_by_layer
Definition CADEntities.h:48
@ e_by_block
Definition CADEntities.h:47
@ e_use
Definition CADEntities.h:46
@ MIN
Definition BaseValues.hpp:196
float fltp04
Defines an alias representing a 4 byte floating-point number Bit layout is as follows: -Sign: 1 bit a...
Definition BaseValues.hpp:127
uint8_t uint01
-Defines an alias representing a 1 byte, unsigned integer -Can represent exact integer values 0 throu...
Definition BaseValues.hpp:80
@ DEGREES
Definition Angle.h:58
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...
Definition BaseValues.hpp:96
@ Y
Definition BaseValues.hpp:169
@ X
Definition BaseValues.hpp:167
@ Z
Definition BaseValues.hpp:171
double fltp08
Defines an alias representing an 8 byte floating-point number.
Definition BaseValues.hpp:149
Definition File.h:211
logic for storing an angular dimension in a CAD-friendly way for exporting and importing.
Definition CADEntities.h:657
AngularDimensionData(const Vector< 3, fltp08 > &def_point_1, const Vector< 3, fltp08 > &def_point_2, const Vector< 3, fltp08 > &def_point_3)
Definition CADEntities.h:658
AngularDimensionData(const Vector< 3, fltp08 > &def_point_1, const Vector< 3, fltp08 > &def_point_2, const Vector< 3, fltp08 > &def_point_3, const Vector< 3, fltp08 > &def_point_4)
Definition CADEntities.h:665
Vector< 3, fltp08 > def_points[t_data_count]
Definition CADEntities.h:674
logic for storing a arc data in a CAD-friendly way for exporting and importing.
Definition CADEntities.h:297
fltp08 radius
Definition CADEntities.h:307
Angle< fltp08 > angle1
Definition CADEntities.h:309
Angle< fltp08 > angle2
Definition CADEntities.h:310
ArcData(const Vector< 3, fltp08 > &center_point, fltp08 aRadius, Angle< fltp08 > aAngle1, Angle< fltp08 > aAngle2)
Definition CADEntities.h:298
fltp08 thickness
Definition CADEntities.h:308
Vector< 3, fltp08 > offset
Definition CADEntities.h:306
logic for storing a attribue data in a CAD-friendly way for exporting and importing.
Definition CADEntities.h:470
BitFlag attrib_flags
Definition CADEntities.h:480
String tag
Definition CADEntities.h:478
bool is_locked
Definition CADEntities.h:481
Flags
Definition CADEntities.h:472
@ e_no_prompt_on_insertion
Definition CADEntities.h:476
@ e_attribute_invisible
Definition CADEntities.h:473
@ e_verification_required
Definition CADEntities.h:475
@ e_constant_attribute
Definition CADEntities.h:474
String default_value
Definition CADEntities.h:479
A block structure (Similar to a Model) used to share data with CAD.
Definition CADEntities.h:196
Vertex< 3, fltp08 > offset
Definition CADEntities.h:202
BlockData(String name, const Vector< 8, bool > &flags)
Definition CADEntities.h:199
String description
Definition CADEntities.h:203
BlockData()
Definition CADEntities.h:197
Information for how to place a CAD block within a scene (Similar to Model).
Definition CADEntities.h:528
Vector< 2, fltp08 > grid_spacing
Definition CADEntities.h:531
bool attribute_to_follow
Definition CADEntities.h:532
String block_name
Definition CADEntities.h:529
Vector< 2, uint04 > grid_count
Definition CADEntities.h:530
Stores color information for interfacing with CAD.
Definition CADEntities.h:77
ColorMode mode
Definition CADEntities.h:78
bool operator==(const CADColorInfo &other) const
Definition CADEntities.h:80
RGBColor color
Definition CADEntities.h:79
bool operator!=(const CADColorInfo &other) const
Definition CADEntities.h:84
A container for information pointing to a CAD dictionary in CAD memory.
Definition CADEntities.h:614
Buffer< CADVariable > data
Definition CADEntities.h:618
uint04 parent_handle
Definition CADEntities.h:616
uint04 handle
Definition CADEntities.h:615
bool hard_owned
Definition CADEntities.h:617
void clear()
Definition CADEntities.h:619
logic for storing a image data in a CAD-friendly way for exporting and importing.
Definition CADEntities.h:967
Vector< 3, fltp08 > insertion_point
Definition CADEntities.h:981
uint01 contrast
Definition CADEntities.h:987
File ref
Definition CADEntities.h:980
uint01 brightness
Definition CADEntities.h:986
uint01 fade
Definition CADEntities.h:988
CADImageData(const File &iref, Vector< 3, fltp08 > insertion_point, Vector< 3, fltp08 > bottom_vector, Vector< 3, fltp08 > left_side, int iwidth, int iheight, uint01 ibrightness=50, uint01 icontrast=50, uint01 ifade=0)
Definition CADEntities.h:968
Vector< 3, fltp08 > bottom_vector
Definition CADEntities.h:982
Vector< 3, fltp08 > left_side
Definition CADEntities.h:983
Vector< 2, uint02 > image_size
Definition CADEntities.h:984
Definition CADEntities.h:390
uint04 sub_entity_marker
Definition CADEntities.h:391
PropertyOverrideType type
Definition CADEntities.h:392
Buffer< fltp08 > values
Definition CADEntities.h:393
Stores mesh data in a way optimized for CAD.
Definition CADEntities.h:379
Buffer< fltp08 > edge_crease_values
Definition CADEntities.h:402
Buffer< MeshOverride > property_overrides
Definition CADEntities.h:403
uint04 version_number
Definition CADEntities.h:404
CADMeshData()
Definition CADEntities.h:387
Buffer< Vertex< 3, fltp08 > > normals
Definition CADEntities.h:397
uint04 data_dictionary_reference
Definition CADEntities.h:406
bool bend_crease
Definition CADEntities.h:407
Buffer< Vertex< 3, fltp08 > > textures
Definition CADEntities.h:398
Buffer< RGBColor > colors
Definition CADEntities.h:399
Buffer< uint04 > edge_points
Definition CADEntities.h:401
PropertyOverrideType
Definition CADEntities.h:381
@ e_color
Definition CADEntities.h:382
@ e_transparency
Definition CADEntities.h:384
@ e_material_mapper
Definition CADEntities.h:385
@ e_material
Definition CADEntities.h:383
Buffer< Vertex< 3, fltp08 > > vertices
Definition CADEntities.h:396
Buffer< uint04 > face_points
Definition CADEntities.h:400
uint04 subdivide_level
Definition CADEntities.h:405
A variable shared between NDEVR and CAD.
Definition CADEntities.h:94
CADVARType var_type
Definition CADEntities.h:142
Buffer< std::pair< sint04, String > > values
Definition CADEntities.h:141
CADVARType
Definition CADEntities.h:96
@ e_double
Definition CADEntities.h:97
@ e_string
Definition CADEntities.h:99
@ e_int
Definition CADEntities.h:98
CADVariable(const String &label, Vector< 2, fltp08 > data)
Definition CADEntities.h:125
CADVariable()
Definition CADEntities.h:101
CADVariable(const String &label, Vector< 3, fltp08 > data)
Definition CADEntities.h:132
CADVariable(const String &label, sint04 key_label, const uint04 &value)
Definition CADEntities.h:113
CADVariable(const String &label, sint04 key_label, const fltp08 &value)
Definition CADEntities.h:107
CADVariable(const String &label)
Definition CADEntities.h:104
CADVariable(const String &label, sint04 key_label, const String &value)
Definition CADEntities.h:119
String label
Definition CADEntities.h:140
logic for storing a circle data in a CAD-friendly way for exporting and importing.
Definition CADEntities.h:487
RadialObject< 3, fltp08 > circle
Definition CADEntities.h:488
fltp08 thickness
Definition CADEntities.h:489
Defines for a given type (such as sint04, fltp08, UUID, etc) a maximum, minimum, and reserved 'invali...
Definition BaseValues.hpp:233
A type of entity in CAD representing several entities grouped together.
Definition CADEntities.h:1031
String description
Definition CADEntities.h:1033
bool selectable
Definition CADEntities.h:1035
bool is_named
Definition CADEntities.h:1034
String name
Definition CADEntities.h:1032
Buffer< uint04 > group_objects
Definition CADEntities.h:1036
A DXF friendly material class which contains UV properties similar to a Material object.
Definition CADEntities.h:1015
String description
Definition CADEntities.h:1017
MaterialUVOptions ambient
Definition CADEntities.h:1018
String name
Definition CADEntities.h:1016
MaterialUVImageOptions diffuse
Definition CADEntities.h:1019
fltp08 opacity_percent
Definition CADEntities.h:1022
Matrix< fltp08 > mat_matrix
Definition CADEntities.h:1023
fltp08 specular_gloss_factor
Definition CADEntities.h:1021
MaterialUVImageOptions specular
Definition CADEntities.h:1020
logic for storing an diametric dimension in a CAD-friendly way for exporting and importing.
Definition CADEntities.h:643
DiametricDimension(const Vector< 3, fltp08 > &def_point, double dleader)
Definition CADEntities.h:644
fltp08 leader
Definition CADEntities.h:649
Vector< 3, fltp08 > def_point
Definition CADEntities.h:648
A CAD measurement similar to AngleMeasurementModel.
Definition CADEntities.h:589
LineSegment< 3, fltp08 > alignment_data
Definition CADEntities.h:594
DimAlignedData()
Definition CADEntities.h:591
logic for storing an ordinate dimension in a CAD-friendly way for exporting and importing.
Definition CADEntities.h:680
DimOrdinateData(LineSegment< 3, fltp08 > &dimension, bool type)
Definition CADEntities.h:686
DimOrdinateData(const Vector< 3, fltp08 > &p1, const Vector< 3, fltp08 > &p2, bool type)
Definition CADEntities.h:681
bool xtype
Definition CADEntities.h:690
Dimensional measurements stored in a CAD-friendly way.
Definition CADEntities.h:549
String dimension_style
Definition CADEntities.h:576
fltp08 line_spacing_factor
Definition CADEntities.h:574
uint01 attachment_point_align
Definition CADEntities.h:572
String text
Definition CADEntities.h:575
int line_spacing_style
Definition CADEntities.h:573
Vector< 3, fltp08 > text_middle_point
Definition CADEntities.h:551
double dim_scale
Definition CADEntities.h:579
Angle< fltp08 > angle
Definition CADEntities.h:577
Angle< fltp08 > dim_hor_angle
Definition CADEntities.h:581
double linear_factor
Definition CADEntities.h:578
Vector< 3, fltp08 > definition_point
Definition CADEntities.h:550
int type
Definition CADEntities.h:571
Angle< fltp08 > text_angle
Definition CADEntities.h:580
String dimension_block_name
Definition CADEntities.h:582
Stores Ellipse information for interfacing with CAD.
Definition CADEntities.h:496
Vertex< 3, fltp08 > endpoint_of_major_axis
Definition CADEntities.h:498
fltp08 minor_to_major_ratio
Definition CADEntities.h:500
Vertex< 3, fltp08 > center
Definition CADEntities.h:497
Angle< fltp08 > angle1
Definition CADEntities.h:501
Angle< fltp08 > angle2
Definition CADEntities.h:502
fltp08 thickness
Definition CADEntities.h:499
An entity in CAD which has a layer and other handle information.
Definition CADEntities.h:158
String line_type
Definition CADEntities.h:160
uint04 file_line_number
Definition CADEntities.h:165
uint04 material_handle
Definition CADEntities.h:164
bool paper_space
Definition CADEntities.h:168
bool visible
Definition CADEntities.h:167
fltp08 line_type_scale
Definition CADEntities.h:162
CADColorInfo color_info
Definition CADEntities.h:161
PaperSpace paper_space_info
Definition CADEntities.h:163
bool is_off
Definition CADEntities.h:166
String layer
Definition CADEntities.h:159
Data for extruding an object onto a plane in CAD.
Definition CADEntities.h:209
fltp08 elevation
Definition CADEntities.h:211
Vector< 3, fltp08 > extrusion
Definition CADEntities.h:210
A handle used to reference an object in CAD.
Definition CADEntities.h:148
uint04 file_line_number
Definition CADEntities.h:151
uint04 parent_handle
Definition CADEntities.h:150
uint04 handle
Definition CADEntities.h:149
logic for storing a hatch-data in a CAD-friendly way for exporting and importing.
Definition CADEntities.h:735
String pattern_name
Definition CADEntities.h:752
Vector< 2, fltp08 > pattern_origin
Definition CADEntities.h:751
fltp08 scale
Definition CADEntities.h:753
uint04 num_loops
Definition CADEntities.h:754
Angle< fltp08 > angle
Definition CADEntities.h:755
bool is_solid
Definition CADEntities.h:756
HatchData()
Definition CADEntities.h:736
HatchData(uint04 numLoops, bool solid, fltp08 scale, const Angle< fltp08 > &angle, String pattern, const Vector< 2, fltp08 > &origin)
Definition CADEntities.h:743
Stores information about the edge of a CAD hatch pattern.
Definition CADEntities.h:775
bool periodic
Definition CADEntities.h:892
Angle< fltp08 > angle_start
Definition CADEntities.h:885
bool is_ccw
Definition CADEntities.h:893
HatchEdgeData(uint01 degree, bool rational, bool periodic, Buffer< fltp08 > knots, Buffer< Buffer< fltp08 > > controlPoints, Buffer< Buffer< fltp08 > > fitPoints, Buffer< fltp08 > weights, const Vector< 2, fltp08 > &start_tangent, const Vector< 2, fltp08 > &end_tangent)
Definition CADEntities.h:839
LineSegment< 2, fltp08 > line
Definition CADEntities.h:878
uint01 degree
Definition CADEntities.h:890
Buffer< Buffer< fltp08 > > vertices
Definition CADEntities.h:873
Vector< 2, fltp08 > end_tangent
Definition CADEntities.h:881
fltp08 radius
Definition CADEntities.h:884
EdgeType
Definition CADEntities.h:864
@ e_line
Definition CADEntities.h:866
@ e_elliptic_arc
Definition CADEntities.h:868
@ e_spline
Definition CADEntities.h:869
@ e_undefined
Definition CADEntities.h:865
@ e_arc
Definition CADEntities.h:867
Buffer< fltp08 > weights
Definition CADEntities.h:876
Angle< fltp08 > angle_end
Definition CADEntities.h:886
Buffer< Buffer< fltp08 > > control_points
Definition CADEntities.h:871
HatchEdgeData(const Vector< 2, fltp08 > &arc_center, fltp08 radius, Angle< fltp08 > angle_start, Angle< fltp08 > angle_end, bool ccw)
Definition CADEntities.h:805
Vector< 2, fltp08 > center_point
Definition CADEntities.h:879
HatchEdgeData(const Vector< 2, fltp08 > &center, const Vector< 2, fltp08 > &axis_major_point, double ratio, Angle< fltp08 > angle1, Angle< fltp08 > angle2, bool ccw)
Definition CADEntities.h:822
Vector< 2, fltp08 > axis_major_point
Definition CADEntities.h:882
Buffer< Buffer< fltp08 > > fit_points
Definition CADEntities.h:872
fltp08 axis_ratio
Definition CADEntities.h:887
EdgeType type
Definition CADEntities.h:889
HatchEdgeData(LineSegment< 2, fltp08 > line)
Definition CADEntities.h:790
bool rational
Definition CADEntities.h:891
Vector< 2, fltp08 > start_tangent
Definition CADEntities.h:880
HatchEdgeData()
Definition CADEntities.h:776
Buffer< fltp08 > knots
Definition CADEntities.h:875
Provides loops of data for the CAD hatch pattern.
Definition CADEntities.h:762
uint04 num_of_edges
Definition CADEntities.h:769
HatchLoopData(uint04 num_edges)
Definition CADEntities.h:766
HatchLoopData()
Definition CADEntities.h:763
Stores the definition of an Image for easy interface with CAD.
Definition CADEntities.h:1043
String ref
Definition CADEntities.h:1048
File file
Definition CADEntities.h:1049
ImageDefData(const String &iref, const File &ifile)
Definition CADEntities.h:1044
Layer information shared with CAD.
Definition CADEntities.h:175
LayerData(String name, const Vector< 8, bool > &flags)
Definition CADEntities.h:184
LayerFlags
Definition CADEntities.h:177
@ e_frozen_by_default
Definition CADEntities.h:179
@ e_frozen
Definition CADEntities.h:178
@ e_locked
Definition CADEntities.h:180
Vector< 8, bool > flags
Definition CADEntities.h:189
String name
Definition CADEntities.h:188
LayerData()
Definition CADEntities.h:182
logic for storing a leader in a CAD-friendly way for exporting and importing.
Definition CADEntities.h:696
LeaderData()
Definition CADEntities.h:702
LeaderPathType
Definition CADEntities.h:698
@ e_segments
Definition CADEntities.h:699
@ e_spline
Definition CADEntities.h:700
LeaderData(bool lArrowHeadFlag, LeaderPathType lLeaderPathType, int lLeaderCreationFlag, int lHooklineDirectionFlag, int lHooklineFlag, fltp08 lTextAnnotationHeight, fltp08 lTextAnnotationWidth)
Definition CADEntities.h:710
BitFlag hookline_direction_flag
Definition CADEntities.h:724
Vector< 2, fltp08 > text_annotation_size
Definition CADEntities.h:720
bool use_arrowhead
Definition CADEntities.h:721
LeaderPathType leader_path_type
Definition CADEntities.h:722
BitFlag leader_creation_flag
Definition CADEntities.h:723
BitFlag hookline_flag
Definition CADEntities.h:725
A CAD-friendly way to store line segment information.
Definition CADEntities.h:509
LineSegment< 3, fltp08 > line
Definition CADEntities.h:510
fltp08 thickness
Definition CADEntities.h:511
information for a type of line in CAD
Definition CADEntities.h:218
fltp08 pattern_length
Definition CADEntities.h:238
String description
Definition CADEntities.h:235
Vector< 32, bool > flags
Definition CADEntities.h:236
String name
Definition CADEntities.h:234
LineTypeData(const String &name, const String &description, int flags, uint04 numberOfDashes, double patternLength, const Buffer< fltp08 > &pattern)
Definition CADEntities.h:226
Buffer< fltp08 > pattern
Definition CADEntities.h:239
uint04 number_of_dashes
Definition CADEntities.h:237
LineTypeData(const String &name, const String &description, int flags, uint04 numberOfDashes, double patternLength)
Definition CADEntities.h:219
A CAD measurement similar to DistanceMeasurementModel.
Definition CADEntities.h:600
LinearDimension()
Definition CADEntities.h:601
LineSegment< 3, fltp08 > alignment_data
Definition CADEntities.h:604
Angle< fltp08 > oblique_angle
Definition CADEntities.h:607
Angle< fltp08 > line_angle
Definition CADEntities.h:606
Stores text data that may have an attachment point and direction for interfacing with CAD.
Definition CADEntities.h:414
Vector< 3, fltp08 > insertion_point
Definition CADEntities.h:429
String style
Definition CADEntities.h:444
int attachment_point
Definition CADEntities.h:439
Vector< 3, fltp08 > direction_vector
Definition CADEntities.h:430
String text
Definition CADEntities.h:443
int line_spacing_style
Definition CADEntities.h:441
fltp04 line_spacing_factor
Definition CADEntities.h:442
int drawing_direction
Definition CADEntities.h:440
Vector< 2, fltp08 > text_size
Definition CADEntities.h:431
MTextData(Vector< 3, fltp08 > insertion_point, Vector< 3, fltp08 > direction, Vector< 2, fltp08 > size, int attachmentPoint, int drawingDirection, int lineSpacingStyle, fltp04 lineSpacingFactor, const String &text, const String &style, Angle< fltp08 > angle)
Definition CADEntities.h:415
Angle< fltp08 > angle
Definition CADEntities.h:445
Provides CAD information for managing images attached to a Material.
Definition CADEntities.h:1004
fltp08 map_blend_factor
Definition CADEntities.h:1005
bool use_current_scene
Definition CADEntities.h:1006
RGBColor color
Definition CADEntities.h:1008
File map_file
Definition CADEntities.h:1007
UVOptions used for interfacing with CAD, similar to those used by a Material object.
Definition CADEntities.h:995
RGBColor color
Definition CADEntities.h:998
fltp08 color_intensity
Definition CADEntities.h:997
bool use_value
Definition CADEntities.h:996
Stores CAD details about PaperSpace or 2D document space.
Definition CADEntities.h:55
Bounds< 3, fltp08 > model_space_bounds
Definition CADEntities.h:56
Bounds< 3, fltp08 > paper_space_bounds
Definition CADEntities.h:57
Matrix< fltp08 > paperToModelMatrix() const
Definition CADEntities.h:59
Vertex< 3, fltp08 > paper_space_origin
Definition CADEntities.h:58
Data about where to place an object, used for interfacing with CAD.
Definition CADEntities.h:518
Vector< 3, fltp08 > scale
Definition CADEntities.h:520
Angle< fltp08 > azimuth
Definition CADEntities.h:521
Vector< 3, fltp08 > offset
Definition CADEntities.h:519
Point data stored in a friendly way for interfacing with CAD.
Definition CADEntities.h:539
Angle< fltp08 > effect_angle
Definition CADEntities.h:541
Vector< 3, fltp08 > location
Definition CADEntities.h:540
fltp08 thickness
Definition CADEntities.h:542
logic for storing a polyline data in a CAD-friendly way for exporting and importing.
Definition CADEntities.h:317
CurveType
Definition CADEntities.h:330
@ e_quadratic_b
Definition CADEntities.h:332
@ e_no_smooth
Definition CADEntities.h:331
@ e_bezier
Definition CADEntities.h:334
@ e_cubic
Definition CADEntities.h:333
uint04 vertex_count
Definition CADEntities.h:340
uint04 n
Definition CADEntities.h:342
Vector< 32, bool > flags
Definition CADEntities.h:343
fltp08 start_width
Definition CADEntities.h:337
CurveType curve_type
Definition CADEntities.h:339
uint04 m
Definition CADEntities.h:341
PolyFlags
Definition CADEntities.h:319
@ e_line_continuous
Definition CADEntities.h:327
@ e_curve_fits
Definition CADEntities.h:321
@ e_is_3D_polyline
Definition CADEntities.h:323
@ e_is_closed_n
Definition CADEntities.h:325
@ e_is_3D_polygon
Definition CADEntities.h:324
@ e_spline_fits
Definition CADEntities.h:322
@ e_closed
Definition CADEntities.h:320
@ e_is_polyface_mesh
Definition CADEntities.h:326
fltp08 end_width
Definition CADEntities.h:338
fltp08 thickness
Definition CADEntities.h:336
logic for storing a radial dimension in a CAD-friendly way for exporting and importing.
Definition CADEntities.h:630
fltp08 leader
Definition CADEntities.h:637
Vector< 3, fltp08 > coordinate
Definition CADEntities.h:636
RadialDimension(const Vector< 3, fltp08 > &coordinate, fltp08 dleader)
Definition CADEntities.h:631
logic for storing a spline data in a CAD-friendly way for exporting and importing.
Definition CADEntities.h:362
Vector< 3, fltp08 > tangent_end
Definition CADEntities.h:373
uint01 degree
Definition CADEntities.h:370
Vector< 3, fltp08 > tangent_start
Definition CADEntities.h:372
Vector< 32, bool > flags
Definition CADEntities.h:371
SplineData(uint01 degree, const Vector< 32, bool > &flags)
Definition CADEntities.h:363
logic for storing a style data in a CAD-friendly way for exporting and importing.
Definition CADEntities.h:245
fltp08 last_height_used
Definition CADEntities.h:287
fltp08 width_factor
Definition CADEntities.h:284
String big_font_file
Definition CADEntities.h:289
fltp08 oblique_angle
Definition CADEntities.h:285
String primary_font_file
Definition CADEntities.h:288
bool bold
Definition CADEntities.h:290
fltp08 fixed_text_height
Definition CADEntities.h:283
StyleData(const String &name, int flags, double fixedTextHeight, double widthFactor, double obliqueAngle, int textGenerationFlags, double lastHeightUsed, const String &primaryFontFile, const String &bigFontFile)
Definition CADEntities.h:259
String name
Definition CADEntities.h:281
bool operator==(const StyleData &other) const
Definition CADEntities.h:274
int flags
Definition CADEntities.h:282
bool italic
Definition CADEntities.h:291
Vector< 32, bool > text_generation_flags
Definition CADEntities.h:286
StyleData()
Definition CADEntities.h:246
logic for storing a text data in a CAD-friendly way for exporting and importing.
Definition CADEntities.h:451
fltp08 height
Definition CADEntities.h:456
fltp08 reference_width
Definition CADEntities.h:457
String style
Definition CADEntities.h:453
Angle< fltp08 > rotatation
Definition CADEntities.h:459
fltp08 line_spacing_factor
Definition CADEntities.h:462
String text
Definition CADEntities.h:452
uint01 alignment
Definition CADEntities.h:464
Angle< fltp08 > oblique_angle
Definition CADEntities.h:460
Vertex< 3, fltp08 > align_a
Definition CADEntities.h:454
uint01 flags
Definition CADEntities.h:463
fltp08 x_scale
Definition CADEntities.h:461
Vertex< 3, fltp08 > align_b
Definition CADEntities.h:455
fltp08 thickness
Definition CADEntities.h:458
logic for storing a trace data in a CAD-friendly way for exporting and importing.
Definition CADEntities.h:349
bool is_solid
Definition CADEntities.h:356
TraceData()
Definition CADEntities.h:350
Vertex< 3, fltp08 > points[4]
Definition CADEntities.h:354
fltp08 thickness
Definition CADEntities.h:355
logic for storing a viewport in a CAD-friendly way for exporting and importing.
Definition CADEntities.h:901
bool has_grid
Definition CADEntities.h:958
Vector< 16, bool > flags
Definition CADEntities.h:939
BitFlag view_mode
Definition CADEntities.h:959
ViewMode
Definition CADEntities.h:951
@ e_front_clipping
Definition CADEntities.h:953
@ e_front_clipping_not_at_camera
Definition CADEntities.h:956
@ e_back_clipping
Definition CADEntities.h:954
@ e_ucs_follow_mode
Definition CADEntities.h:955
@ e_perspective_view
Definition CADEntities.h:952
Angle< fltp08 > twist_angle
Definition CADEntities.h:912
Vector< 2, fltp08 > grid_spacing
Definition CADEntities.h:906
fltp08 perspective_lens_length
Definition CADEntities.h:909
Vector< 2, fltp08 > center_point
Definition CADEntities.h:903
uint04 handle
Definition CADEntities.h:902
fltp08 view_height
Definition CADEntities.h:911
Flags
Definition CADEntities.h:915
@ e_is_pair_top
Definition CADEntities.h:928
@ e_enable_snaps
Definition CADEntities.h:924
@ e_grid_subdivide
Definition CADEntities.h:936
@ e_enable_icon_visible
Definition CADEntities.h:921
@ e_grid_beyond_limits
Definition CADEntities.h:934
@ e_enable_hide_plot
Definition CADEntities.h:927
@ e_enable_front_clip
Definition CADEntities.h:920
@ e_iso_pair_right
Definition CADEntities.h:929
@ e_enable_non_rect_clipping
Definition CADEntities.h:932
@ e_enable_grids
Definition CADEntities.h:925
@ e_viewport_off
Definition CADEntities.h:933
@ e_adaptive_grid
Definition CADEntities.h:935
@ e_enable_back_clipping
Definition CADEntities.h:918
@ e_enable_front_clipping
Definition CADEntities.h:917
@ e_enable_iso_snap
Definition CADEntities.h:926
@ e_enable_fast_zoom
Definition CADEntities.h:923
@ e_enable_viewport_zoom_lock
Definition CADEntities.h:930
@ e_enable_ucs_follow
Definition CADEntities.h:919
@ e_grid_follows_workplane
Definition CADEntities.h:937
@ e_enable_ucs_icon_at_origin
Definition CADEntities.h:922
@ e_always_enabled
Definition CADEntities.h:931
@ e_perspective
Definition CADEntities.h:916
Bounds< 2, fltp08 > screen_bounds
Definition CADEntities.h:904
RenderMode
Definition CADEntities.h:941
@ e_hidden_line
Definition CADEntities.h:944
@ e_wireframe
Definition CADEntities.h:943
@ e_gouraud_shaded
Definition CADEntities.h:946
@ e_flat_shaded
Definition CADEntities.h:945
@ e_2D_optimized
Definition CADEntities.h:942
@ e_gouraud_shaded_with_wireframe
Definition CADEntities.h:948
@ e_flat_shaded_with_wireframe
Definition CADEntities.h:947
Vector< 3, fltp08 > view_direction
Definition CADEntities.h:907
RenderMode render_mode
Definition CADEntities.h:960
Vector< 2, fltp08 > snap_spacing
Definition CADEntities.h:905
Vector< 3, fltp08 > target_point
Definition CADEntities.h:908
Vector< 2, fltp08 > clip_planes
Definition CADEntities.h:910