QCAD
Open Source 2D CAD
Loading...
Searching...
No Matches
opennurbs_linestyle.h
Go to the documentation of this file.
1/* $NoKeywords: $ */
2/*
3//
4// Copyright (c) 1993-2007 Robert McNeel & Associates. All rights reserved.
5// Rhinoceros is a registered trademark of Robert McNeel & Assoicates.
6//
7// THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.
8// ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR PURPOSE AND OF
9// MERCHANTABILITY ARE HEREBY DISCLAIMED.
10//
11// For complete openNURBS copyright information see <http://www.opennurbs.org>.
12//
14*/
15
16#if !defined(OPENNURBS_LINESTYLE_INC_)
17#define OPENNURBS_LINESTYLE_INC_
18
19
21//
22// Class ON_DisplayMaterialRef
23//
24
25/*
26Description:
27 Objects can have per viewport display properties
28 that override a viewport's default display
29 properties. These overrides are stored on
30 ON_3dmObjectAttributes as a list of
31 ON_DisplayMaterialRefs.
32
33Example:
34 For example, by default a viewport
35 might display objects using a wireframe, but
36 one special object may need to be shaded.
37 In this case the special object would have
38 a display material ref with the "wireframe"
39 viewport's id and the id of a display material
40 that specified shading.
41*/
43{
44public:
45 /*
46 Description:
47 Default constructor sets both ids to nil.
48 */
50 int Compare(const ON_DisplayMaterialRef& other) const;
51 bool operator==(const ON_DisplayMaterialRef& other) const;
52 bool operator!=(const ON_DisplayMaterialRef& other) const;
53 bool operator<(const ON_DisplayMaterialRef& other) const;
54 bool operator<=(const ON_DisplayMaterialRef& other) const;
55 bool operator>(const ON_DisplayMaterialRef& other) const;
56 bool operator>=(const ON_DisplayMaterialRef& other) const;
57
58 // C++ default destructor, copy constructor and operator=
59 // work fine.
60
61 ON_UUID m_viewport_id; // identifies the ON_Viewport
62 // If nil, then the display material
63 // will be used in all viewports
64 // that are not explictly referenced
65 // in other ON_DisplayMaterialRefs.
66
67 ON_UUID m_display_material_id; // id used to find display attributes
68
69 // For Rhino V4 the per detail visibility attribute is implemented
70 // through a display material reference on an object. This is ONLY
71 // for for detail viewports and only for V4. Keep this uuid around
72 // so the per detail attributes in future versions of Rhino can be
73 // implemented a different way.
74 // {1403A7E4-E7AD-4a01-A2AA-41DAE6BE7ECB}
75 static const ON_UUID m_invisible_in_detail_id;
76};
77
78
80// class ON_LinetypeSegment
81
83{
84public:
86
87 bool operator==( const ON_LinetypeSegment& src) const;
88 bool operator!=( const ON_LinetypeSegment& src) const;
89
90 // For a curve to be drawn starting at the start point
91 // and ending at the endpoint, the first segment
92 // in the pattern must be a stLine type
94 {
97 };
98
99 void Dump( class ON_TextLog& ) const;
100
101 // do not add read/write functions to this class
102
103 double m_length; // length in millimeters on printed output
105};
106
107#endif
bool operator<(const RPainterPath &p1, const RPainterPath &p2)
This operator allows us to sort painter paths based on z-level.
Definition RPainterPath.cpp:765
Definition opennurbs_linestyle.h:43
ON_UUID m_viewport_id
Definition opennurbs_linestyle.h:61
ON_UUID m_display_material_id
Definition opennurbs_linestyle.h:67
Definition opennurbs_linestyle.h:83
eSegType m_seg_type
Definition opennurbs_linestyle.h:104
double m_length
Definition opennurbs_linestyle.h:103
eSegType
Definition opennurbs_linestyle.h:94
@ stLine
Definition opennurbs_linestyle.h:95
@ stSpace
Definition opennurbs_linestyle.h:96
Definition opennurbs_textlog.h:20
Definition opennurbs_uuid.h:31
#define ON_CLASS
Definition opennurbs_defines.h:91