mirror of
https://github.com/mcneel/opennurbs.git
synced 2026-04-19 21:06:01 +08:00
Add source code for rhino 6.8 release
This commit is contained in:
186
opennurbs_3dm_properties.h
Normal file
186
opennurbs_3dm_properties.h
Normal file
@@ -0,0 +1,186 @@
|
||||
/* $NoKeywords: $ */
|
||||
/*
|
||||
//
|
||||
// Copyright (c) 1993-2012 Robert McNeel & Associates. All rights reserved.
|
||||
// OpenNURBS, Rhinoceros, and Rhino3D are registered trademarks of Robert
|
||||
// McNeel & Associates.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.
|
||||
// ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR PURPOSE AND OF
|
||||
// MERCHANTABILITY ARE HEREBY DISCLAIMED.
|
||||
//
|
||||
// For complete openNURBS copyright information see <http://www.opennurbs.org>.
|
||||
//
|
||||
////////////////////////////////////////////////////////////////
|
||||
*/
|
||||
|
||||
#if !defined(OPENNURBS_3DM_PROPERTIES_INC_)
|
||||
#define OPENNURBS_3DM_PROPERTIES_INC_
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
class ON_CLASS ON_3dmRevisionHistory
|
||||
{
|
||||
public:
|
||||
/*
|
||||
Default construction sets this = ON_3dmRevisionHistory::Empty
|
||||
*/
|
||||
ON_3dmRevisionHistory();
|
||||
|
||||
~ON_3dmRevisionHistory() = default;
|
||||
|
||||
ON_3dmRevisionHistory(const ON_3dmRevisionHistory&) = default;
|
||||
ON_3dmRevisionHistory& operator=(const ON_3dmRevisionHistory&) = default;
|
||||
|
||||
/*
|
||||
Description:
|
||||
The Empty revision has a revision number zero,
|
||||
all time values set to zero and all string
|
||||
values empty.
|
||||
*/
|
||||
static const ON_3dmRevisionHistory Empty;
|
||||
|
||||
/*
|
||||
Returns:
|
||||
A revision history with
|
||||
m_revision_count = 1
|
||||
m_create_time = now
|
||||
m_last_edit_time = now
|
||||
m_sCreatedBy = current user
|
||||
m_sLastEditedBy = current user
|
||||
*/
|
||||
static ON_3dmRevisionHistory FirstRevision();
|
||||
|
||||
int NewRevision(); // returns updated revision count
|
||||
|
||||
bool IsValid() const;
|
||||
bool IsEmpty() const;
|
||||
bool Read( ON_BinaryArchive& );
|
||||
bool Write( ON_BinaryArchive& ) const;
|
||||
void Dump( ON_TextLog& ) const;
|
||||
|
||||
/*
|
||||
Returns:
|
||||
true
|
||||
if m_create_time is >= January 1, 1970
|
||||
*/
|
||||
bool CreateTimeIsSet() const;
|
||||
|
||||
/*
|
||||
Returns:
|
||||
true
|
||||
if m_last_edit_time is >= January 1, 1970
|
||||
*/
|
||||
bool LastEditedTimeIsSet() const;
|
||||
|
||||
ON_wString m_sCreatedBy;
|
||||
ON_wString m_sLastEditedBy;
|
||||
struct tm m_create_time; // UCT create time
|
||||
struct tm m_last_edit_time; // UCT las edited time
|
||||
int m_revision_count = 0;
|
||||
};
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
class ON_CLASS ON_3dmNotes
|
||||
{
|
||||
public:
|
||||
ON_3dmNotes();
|
||||
~ON_3dmNotes();
|
||||
|
||||
static const ON_3dmNotes Empty;
|
||||
|
||||
bool IsValid() const;
|
||||
bool IsEmpty() const;
|
||||
|
||||
bool Read( ON_BinaryArchive& );
|
||||
bool Write( ON_BinaryArchive& ) const;
|
||||
|
||||
void Dump(ON_TextLog&) const;
|
||||
|
||||
////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Interface - this information is serialized. Applications
|
||||
// may want to derive a runtime class that has additional
|
||||
// window and font information.
|
||||
ON_wString m_notes;
|
||||
|
||||
bool m_bVisible; // true if notes window is showing
|
||||
bool m_bHTML; // true if notes are in HTML
|
||||
|
||||
// last window position
|
||||
int m_window_left;
|
||||
int m_window_top;
|
||||
int m_window_right;
|
||||
int m_window_bottom;
|
||||
};
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
class ON_CLASS ON_3dmApplication
|
||||
{
|
||||
// application that created the 3dm file
|
||||
public:
|
||||
ON_3dmApplication();
|
||||
~ON_3dmApplication();
|
||||
|
||||
static const ON_3dmApplication Empty;
|
||||
|
||||
bool IsValid() const;
|
||||
|
||||
bool IsEmpty() const;
|
||||
|
||||
bool Read( ON_BinaryArchive& );
|
||||
bool Write( ON_BinaryArchive& ) const;
|
||||
|
||||
void Dump( ON_TextLog& ) const;
|
||||
|
||||
ON_wString m_application_name; // short name like "Rhino 2.0"
|
||||
ON_wString m_application_URL; // URL
|
||||
ON_wString m_application_details; // whatever you want
|
||||
};
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
class ON_CLASS ON_3dmProperties
|
||||
{
|
||||
public:
|
||||
ON_3dmProperties() = default;
|
||||
~ON_3dmProperties() = default;;
|
||||
ON_3dmProperties(const ON_3dmProperties&) = default;
|
||||
ON_3dmProperties& operator=(const ON_3dmProperties&) = default;
|
||||
|
||||
static const ON_3dmProperties Empty;
|
||||
|
||||
bool IsEmpty() const;
|
||||
|
||||
bool Read(
|
||||
ON_BinaryArchive& archive
|
||||
);
|
||||
|
||||
/*
|
||||
Remarks:
|
||||
If archive.ArchiveFileName() is not empty, that value is
|
||||
written in place of m_3dmArchiveFullPathName in the 3dm archive.
|
||||
If archive.ArchiveFileName() is empty, then m_3dmArchiveFullPathName
|
||||
is written in the 3dm archive.
|
||||
*/
|
||||
bool Write(
|
||||
ON_BinaryArchive& archive
|
||||
) const;
|
||||
|
||||
void Dump( ON_TextLog& ) const;
|
||||
|
||||
ON_3dmRevisionHistory m_RevisionHistory;
|
||||
ON_3dmNotes m_Notes;
|
||||
ON_WindowsBitmap m_PreviewImage; // preview image of model
|
||||
ON_3dmApplication m_Application; // application that created 3DM file
|
||||
|
||||
// name of .3dm archive when it was written. Used to find referenced files
|
||||
// when the archive is moved or copied and then read.
|
||||
ON_wString m_3dmArchiveFullPathName;
|
||||
};
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user