Point Cloud Library (PCL)
1.7.1
Main Page
Modules
Namespaces
Classes
surface
include
pcl
surface
3rdparty
opennurbs
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
/*
27
Description:
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
34
Example:
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
*/
43
class
ON_CLASS
ON_DisplayMaterialRef
44
{
45
public
:
46
/*
47
Description:
48
Default constructor sets both ids to nil.
49
*/
50
ON_DisplayMaterialRef
();
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}
76
static
const
ON_UUID
m_invisible_in_detail_id
;
77
};
78
79
80
//////////////////////////////////////////////////////////////////////
81
// class ON_LinetypeSegment
82
83
class
ON_CLASS
ON_LinetypeSegment
84
{
85
public
:
86
ON_LinetypeSegment
();
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
94
enum
eSegType
95
{
96
stLine
,
97
stSpace
,
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
105
eSegType
m_seg_type
;
106
};
107
108
#endif
ON_LinetypeSegment::eSegType
eSegType
Definition:
opennurbs_linestyle.h:94
ON_LinetypeSegment::m_length
double m_length
Definition:
opennurbs_linestyle.h:104
ON_DisplayMaterialRef::m_display_material_id
ON_UUID m_display_material_id
Definition:
opennurbs_linestyle.h:68
ON_LinetypeSegment::stSpace
Definition:
opennurbs_linestyle.h:97
ON_LinetypeSegment::stLine
Definition:
opennurbs_linestyle.h:96
ON_DisplayMaterialRef::m_invisible_in_detail_id
static const ON_UUID m_invisible_in_detail_id
Definition:
opennurbs_linestyle.h:76
ON_DisplayMaterialRef::m_viewport_id
ON_UUID m_viewport_id
Definition:
opennurbs_linestyle.h:62
ON_DisplayMaterialRef
Definition:
opennurbs_linestyle.h:43
ON_LinetypeSegment
Definition:
opennurbs_linestyle.h:83
ON_UUID
Definition:
opennurbs_uuid.h:31
ON_TextLog
Definition:
opennurbs_textlog.h:22
ON_LinetypeSegment::m_seg_type
eSegType m_seg_type
Definition:
opennurbs_linestyle.h:105