Point Cloud Library (PCL)  1.11.1
opennurbs_3dm_properties.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_3DM_PROPERTIES_INC_)
18 #define OPENNURBS_3DM_PROPERTIES_INC_
19 
20 //////////////////////////////////////////////////////////////////////////////////////////
21 
22 class ON_CLASS ON_3dmRevisionHistory
23 {
24 public:
27  // C++ default operator= and copy constructor work fine.
28 
29  void Default();
30  ON_BOOL32 IsValid() const;
31  int NewRevision(); // returns updated revision count
32 
33  ON_BOOL32 Read( ON_BinaryArchive& );
34  ON_BOOL32 Write( ON_BinaryArchive& ) const;
35 
36  void Dump( ON_TextLog& ) const;
37 
38  /*
39  Returns:
40  true
41  if m_create_time is >= January 1, 1970
42  */
43  bool CreateTimeIsSet() const;
44 
45  /*
46  Returns:
47  true
48  if m_last_edit_time is >= January 1, 1970
49  */
50  bool LastEditedTimeIsSet() const;
51 
54  struct tm m_create_time; // UCT create time
55  struct tm m_last_edit_time; // UCT las edited time
57 };
58 
59 //////////////////////////////////////////////////////////////////////////////////////////
60 
61 class ON_CLASS ON_3dmNotes
62 {
63 public:
68 
69  void Default();
70  ON_BOOL32 IsValid() const;
71 
72  ON_BOOL32 Read( ON_BinaryArchive& );
73  ON_BOOL32 Write( ON_BinaryArchive& ) const;
74 
75  void Dump(ON_TextLog&) const;
76 
77  ////////////////////////////////////////////////////////////////
78  //
79  // Interface - this information is serialized. Applications
80  // may want to derive a runtime class that has additional
81  // window and font information.
82  ON_wString m_notes; // UNICODE
83  ON_BOOL32 m_bVisible; // true if notes window is showing
84  ON_BOOL32 m_bHTML; // true if notes are in HTML
85 
86  // last window position
91 };
92 
93 //////////////////////////////////////////////////////////////////////////////////////////
94 
95 class ON_CLASS ON_3dmApplication
96 {
97  // application that created the 3dm file
98 public:
103 
104  void Default();
105  ON_BOOL32 IsValid() const;
106 
107  ON_BOOL32 Read( ON_BinaryArchive& );
108  ON_BOOL32 Write( ON_BinaryArchive& ) const;
109 
110  void Dump( ON_TextLog& ) const;
111 
112  ON_wString m_application_name; // short name like "Rhino 2.0"
114  ON_wString m_application_details; // whatever you want
115 };
116 
117 //////////////////////////////////////////////////////////////////////////////////////////
118 
119 class ON_CLASS ON_3dmProperties
120 {
121 public:
126 
127  void Default();
128 
129  ON_BOOL32 Read(ON_BinaryArchive&);
130  ON_BOOL32 Write(ON_BinaryArchive&) const;
131 
132  void Dump( ON_TextLog& ) const;
133 
136  ON_WindowsBitmap m_PreviewImage; // preview image of model
137  ON_3dmApplication m_Application; // application that created 3DM file
138 };
139 
140 //////////////////////////////////////////////////////////////////////////////////////////
141 
142 #endif
ON_3dmNotes::m_window_bottom
int m_window_bottom
Definition: opennurbs_3dm_properties.h:90
ON_3dmRevisionHistory::IsValid
ON_BOOL32 IsValid() const
ON_3dmRevisionHistory::m_revision_count
int m_revision_count
Definition: opennurbs_3dm_properties.h:56
ON_3dmNotes::Default
void Default()
ON_3dmNotes::m_notes
ON_wString m_notes
Definition: opennurbs_3dm_properties.h:82
ON_3dmNotes
Definition: opennurbs_3dm_properties.h:62
ON_3dmProperties::Default
void Default()
ON_3dmNotes::ON_3dmNotes
ON_3dmNotes(const ON_3dmNotes &)
ON_3dmNotes::Write
ON_BOOL32 Write(ON_BinaryArchive &) const
ON_3dmRevisionHistory::Read
ON_BOOL32 Read(ON_BinaryArchive &)
ON_3dmProperties::m_RevisionHistory
ON_3dmRevisionHistory m_RevisionHistory
Definition: opennurbs_3dm_properties.h:134
ON_3dmRevisionHistory::Write
ON_BOOL32 Write(ON_BinaryArchive &) const
ON_3dmNotes::m_bHTML
ON_BOOL32 m_bHTML
Definition: opennurbs_3dm_properties.h:84
ON_3dmApplication::Default
void Default()
ON_3dmApplication::ON_3dmApplication
ON_3dmApplication(const ON_3dmApplication &)
ON_3dmProperties::ON_3dmProperties
ON_3dmProperties(const ON_3dmProperties &)
ON_3dmRevisionHistory::LastEditedTimeIsSet
bool LastEditedTimeIsSet() const
ON_3dmApplication::operator=
ON_3dmApplication & operator=(const ON_3dmApplication &)
ON_3dmProperties
Definition: opennurbs_3dm_properties.h:120
ON_3dmRevisionHistory::m_sCreatedBy
ON_wString m_sCreatedBy
Definition: opennurbs_3dm_properties.h:52
ON_3dmProperties::operator=
ON_3dmProperties & operator=(const ON_3dmProperties &)
ON_3dmProperties::m_Application
ON_3dmApplication m_Application
Definition: opennurbs_3dm_properties.h:137
ON_3dmApplication::~ON_3dmApplication
~ON_3dmApplication()
ON_wString
Definition: opennurbs_string.h:701
ON_3dmApplication
Definition: opennurbs_3dm_properties.h:96
ON_3dmRevisionHistory
Definition: opennurbs_3dm_properties.h:23
ON_3dmProperties::m_Notes
ON_3dmNotes m_Notes
Definition: opennurbs_3dm_properties.h:135
ON_3dmApplication::IsValid
ON_BOOL32 IsValid() const
ON_3dmNotes::m_window_right
int m_window_right
Definition: opennurbs_3dm_properties.h:89
ON_3dmApplication::ON_3dmApplication
ON_3dmApplication()
ON_3dmRevisionHistory::ON_3dmRevisionHistory
ON_3dmRevisionHistory()
ON_3dmRevisionHistory::NewRevision
int NewRevision()
ON_3dmApplication::m_application_URL
ON_wString m_application_URL
Definition: opennurbs_3dm_properties.h:113
ON_3dmApplication::Dump
void Dump(ON_TextLog &) const
ON_3dmNotes::Read
ON_BOOL32 Read(ON_BinaryArchive &)
ON_3dmProperties::Write
ON_BOOL32 Write(ON_BinaryArchive &) const
ON_3dmNotes::ON_3dmNotes
ON_3dmNotes()
ON_3dmRevisionHistory::Default
void Default()
ON_3dmNotes::IsValid
ON_BOOL32 IsValid() const
ON_3dmProperties::~ON_3dmProperties
~ON_3dmProperties()
ON_3dmRevisionHistory::Dump
void Dump(ON_TextLog &) const
ON_3dmApplication::Write
ON_BOOL32 Write(ON_BinaryArchive &) const
ON_BinaryArchive
Definition: opennurbs_archive.h:732
ON_3dmNotes::m_bVisible
ON_BOOL32 m_bVisible
Definition: opennurbs_3dm_properties.h:83
ON_TextLog
Definition: opennurbs_textlog.h:23
ON_3dmNotes::Dump
void Dump(ON_TextLog &) const
ON_3dmNotes::~ON_3dmNotes
~ON_3dmNotes()
ON_3dmProperties::Dump
void Dump(ON_TextLog &) const
ON_3dmApplication::m_application_name
ON_wString m_application_name
Definition: opennurbs_3dm_properties.h:112
ON_3dmNotes::m_window_left
int m_window_left
Definition: opennurbs_3dm_properties.h:87
ON_WindowsBitmap
Definition: opennurbs_bitmap.h:342
ON_3dmProperties::Read
ON_BOOL32 Read(ON_BinaryArchive &)
ON_3dmApplication::m_application_details
ON_wString m_application_details
Definition: opennurbs_3dm_properties.h:114
ON_3dmRevisionHistory::~ON_3dmRevisionHistory
~ON_3dmRevisionHistory()
ON_3dmProperties::ON_3dmProperties
ON_3dmProperties()
ON_3dmRevisionHistory::CreateTimeIsSet
bool CreateTimeIsSet() const
ON_3dmRevisionHistory::m_sLastEditedBy
ON_wString m_sLastEditedBy
Definition: opennurbs_3dm_properties.h:53
ON_3dmNotes::m_window_top
int m_window_top
Definition: opennurbs_3dm_properties.h:88
ON_3dmProperties::m_PreviewImage
ON_WindowsBitmap m_PreviewImage
Definition: opennurbs_3dm_properties.h:136
ON_3dmApplication::Read
ON_BOOL32 Read(ON_BinaryArchive &)
ON_3dmNotes::operator=
ON_3dmNotes & operator=(const ON_3dmNotes &)