Point Cloud Library (PCL)
1.7.0
Main Page
Modules
Namespaces
Classes
surface
include
pcl
surface
3rdparty
opennurbs
opennurbs_detail.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(ON_DETAIL_OBJECTY_INC_)
18
#define ON_DETAIL_OBJECTY_INC_
19
20
class
ON_CLASS
ON_DetailView
:
public
ON_Geometry
21
{
22
ON_OBJECT_DECLARE(
ON_DetailView
);
23
24
public
:
25
ON_DetailView
();
26
~
ON_DetailView
();
27
28
// C++ defaults for copy constructor and
29
// operator= work fine.
30
31
//////////////////////////////////////////////////////
32
//
33
// virtual ON_Object overrides
34
//
35
void
MemoryRelocate
();
36
37
ON_BOOL32
IsValid
(
ON_TextLog
* text_log = NULL )
const
;
38
39
void
Dump
(
ON_TextLog
& )
const
;
40
41
unsigned
int
SizeOf
()
const
;
42
43
ON_BOOL32
Write
(
44
ON_BinaryArchive
& binary_archive
45
)
const
;
46
47
ON_BOOL32
Read
(
48
ON_BinaryArchive
& binary_archive
49
);
50
51
ON::object_type
ObjectType
()
const
;
// returns ON::detail_object
52
53
//////////////////////////////////////////////////////
54
//
55
// virtual ON_Geometry overrides
56
// The m_boundary determines all bounding boxes
57
//
58
int
Dimension
()
const
;
59
60
ON_BOOL32
GetBBox
(
61
double
* boxmin,
62
double
* boxmax,
63
int
bGrowBox =
false
64
)
const
;
65
66
bool
GetTightBoundingBox
(
67
ON_BoundingBox
& tight_bbox,
68
int
bGrowBox =
false
,
69
const
ON_Xform
* xform = 0
70
)
const
;
71
72
ON_BOOL32
Transform
(
const
ON_Xform
& xform );
73
74
// m_page_per_model_ratio is the ratio of page length / model length
75
// where both lengths are in the same unit system
76
// (ex. 1/4" on page = 1' in model = 0.25/12 = 0.02083)
77
// ( 1mm on page = 1m in model = 1/1000 = 0.001)
78
// If m_page_per_model_ratio > 0.0, then the detail
79
// is drawn using the specified scale.
80
double
m_page_per_model_ratio
;
81
82
// A view with ON_3dmView::m_view_type = ON::nested_view_type
83
// This field is used for IO purposes only. Runtime detail
84
// view projection information is on CRhDetailViewObject.
85
ON_3dmView
m_view
;
86
87
// 2d curve in page layout coordinates in mm
88
// (0,0) = lower left corner of page
89
ON_NurbsCurve
m_boundary
;
90
};
91
92
93
94
#endif
95