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