Point Cloud Library (PCL)  1.10.1
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.
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_NurbsCurve
Definition: opennurbs_nurbscurve.h:29
ON_DetailView::m_view
ON_3dmView m_view
Definition: opennurbs_detail.h:85
ON_Geometry::Transform
virtual ON_BOOL32 Transform(const ON_Xform &xform)
ON_Object::ObjectType
virtual ON::object_type ObjectType() const
ON_DetailView::m_page_per_model_ratio
double m_page_per_model_ratio
Definition: opennurbs_detail.h:80
ON_Xform
Definition: opennurbs_xform.h:28
ON_BoundingBox
Definition: opennurbs_bounding_box.h:25
ON_Object::SizeOf
virtual unsigned int SizeOf() const
ON_DetailView
Definition: opennurbs_detail.h:20
ON_Geometry::Dimension
virtual int Dimension() const =0
ON_Object::Read
virtual ON_BOOL32 Read(ON_BinaryArchive &binary_archive)
ON_Object::Write
virtual ON_BOOL32 Write(ON_BinaryArchive &binary_archive) const
ON_Geometry
Definition: opennurbs_geometry.h:36
ON_BinaryArchive
Definition: opennurbs_archive.h:731
ON_TextLog
Definition: opennurbs_textlog.h:22
ON_Geometry::GetTightBoundingBox
virtual bool GetTightBoundingBox(ON_BoundingBox &tight_bbox, int bGrowBox=false, const ON_Xform *xform=0) const
ON_3dmView
Definition: opennurbs_3dm_settings.h:424
ON_Object::Dump
virtual void Dump(ON_TextLog &) const
ON_Geometry::GetBBox
virtual ON_BOOL32 GetBBox(double *boxmin, double *boxmax, int bGrowBox=false) const =0
ON_DetailView::m_boundary
ON_NurbsCurve m_boundary
Definition: opennurbs_detail.h:89
ON_Object::IsValid
virtual ON_BOOL32 IsValid(ON_TextLog *text_log=NULL) const =0
ON_Object::MemoryRelocate
virtual void MemoryRelocate()