Point Cloud Library (PCL) 1.14.0
Loading...
Searching...
No Matches
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
20class ON_CLASS ON_DetailView : public ON_Geometry
21{
22 ON_OBJECT_DECLARE(ON_DetailView);
23
24public:
27
28 // C++ defaults for copy constructor and
29 // operator= work fine.
30
31 //////////////////////////////////////////////////////
32 //
33 // virtual ON_Object overrides
34 //
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
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.
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.
86
87 // 2d curve in page layout coordinates in mm
88 // (0,0) = lower left corner of page
90};
91
92
93
94#endif
95
ON::object_type ObjectType() const
ON_BOOL32 GetBBox(double *boxmin, double *boxmax, int bGrowBox=false) const
unsigned int SizeOf() const
ON_NurbsCurve m_boundary
ON_BOOL32 Read(ON_BinaryArchive &binary_archive)
double m_page_per_model_ratio
ON_3dmView m_view
int Dimension() const
ON_BOOL32 Write(ON_BinaryArchive &binary_archive) const
void Dump(ON_TextLog &) const
bool GetTightBoundingBox(ON_BoundingBox &tight_bbox, int bGrowBox=false, const ON_Xform *xform=0) const
ON_BOOL32 IsValid(ON_TextLog *text_log=NULL) const
ON_BOOL32 Transform(const ON_Xform &xform)
void MemoryRelocate()