00001 /* $NoKeywords: $ */ 00002 /* 00003 // 00004 // Copyright (c) 1993-2012 Robert McNeel & Associates. All rights reserved. 00005 // OpenNURBS, Rhinoceros, and Rhino3D are registered trademarks of Robert 00006 // McNeel & Associates. 00007 // 00008 // THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY. 00009 // ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR PURPOSE AND OF 00010 // MERCHANTABILITY ARE HEREBY DISCLAIMED. 00011 // 00012 // For complete openNURBS copyright information see <http://www.opennurbs.org>. 00013 // 00015 */ 00016 00017 #if !defined(OPENNURBS_GROUP_INC_) 00018 #define OPENNURBS_GROUP_INC_ 00019 00020 class ON_CLASS ON_Group : public ON_Object 00021 { 00022 ON_OBJECT_DECLARE(ON_Group); 00023 public: 00024 ON_Group(); 00025 ~ON_Group(); 00026 // C++ default copy construction and operator= work fine. 00027 // Do not add custom versions. 00028 00030 // 00031 // ON_Object overrides 00032 00033 /* 00034 Description: 00035 Tests an object to see if its data members are correctly 00036 initialized. 00037 Parameters: 00038 text_log - [in] if the object is not valid and text_log 00039 is not NULL, then a brief englis description of the 00040 reason the object is not valid is appened to the log. 00041 The information appended to text_log is suitable for 00042 low-level debugging purposes by programmers and is 00043 not intended to be useful as a high level user 00044 interface tool. 00045 Returns: 00046 @untitled table 00047 true object is valid 00048 false object is invalid, uninitialized, etc. 00049 Remarks: 00050 Overrides virtual ON_Object::IsValid 00051 */ 00052 ON_BOOL32 IsValid( ON_TextLog* text_log = NULL ) const; 00053 00054 void Dump( ON_TextLog& ) const; // for debugging 00055 00056 ON_BOOL32 Write( 00057 ON_BinaryArchive& // serialize definition to binary archive 00058 ) const; 00059 00060 ON_BOOL32 Read( 00061 ON_BinaryArchive& // restore definition from binary archive 00062 ); 00063 00065 // 00066 // Obsolete interface - just work on the public members 00067 void SetGroupName( const wchar_t* ); 00068 void SetGroupName( const char* ); 00069 00070 void GetGroupName( ON_wString& ) const; 00071 const wchar_t* GroupName() const; 00072 00073 void SetGroupIndex(int); 00074 int GroupIndex() const; 00075 00076 public: 00077 ON_wString m_group_name; 00078 int m_group_index; 00079 ON_UUID m_group_id; 00080 }; 00081 00082 #endif