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
/*
26
Description:
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
33
Example:
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
*/
42
class
ON_CLASS
ON_DisplayMaterialRef
43
{
44
public
:
45
/*
46
Description:
47
Default constructor sets both ids to nil.
48
*/
49
ON_DisplayMaterialRef
();
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
82
class
ON_CLASS
ON_LinetypeSegment
83
{
84
public
:
85
ON_LinetypeSegment
();
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
93
enum
eSegType
94
{
95
stLine
,
96
stSpace
,
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
104
eSegType
m_seg_type
;
105
};
106
107
#endif
operator<
bool operator<(const RPainterPath &p1, const RPainterPath &p2)
This operator allows us to sort painter paths based on z-level.
Definition
RPainterPath.cpp:765
ON_DisplayMaterialRef
Definition
opennurbs_linestyle.h:43
ON_DisplayMaterialRef::m_viewport_id
ON_UUID m_viewport_id
Definition
opennurbs_linestyle.h:61
ON_DisplayMaterialRef::m_display_material_id
ON_UUID m_display_material_id
Definition
opennurbs_linestyle.h:67
ON_LinetypeSegment
Definition
opennurbs_linestyle.h:83
ON_LinetypeSegment::m_seg_type
eSegType m_seg_type
Definition
opennurbs_linestyle.h:104
ON_LinetypeSegment::m_length
double m_length
Definition
opennurbs_linestyle.h:103
ON_LinetypeSegment::eSegType
eSegType
Definition
opennurbs_linestyle.h:94
ON_LinetypeSegment::stLine
@ stLine
Definition
opennurbs_linestyle.h:95
ON_LinetypeSegment::stSpace
@ stSpace
Definition
opennurbs_linestyle.h:96
ON_TextLog
Definition
opennurbs_textlog.h:20
ON_UUID
Definition
opennurbs_uuid.h:31
ON_CLASS
#define ON_CLASS
Definition
opennurbs_defines.h:91
src
3rdparty
legacy
opennurbs
opennurbs_linestyle.h
Generated on Fri Jul 18 2025 09:41:50 for QCAD by
1.10.0