Point Cloud Library (PCL)  1.10.0-dev
opennurbs_group.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_GROUP_INC_)
18 #define OPENNURBS_GROUP_INC_
19 
20 class ON_CLASS ON_Group : public ON_Object
21 {
22  ON_OBJECT_DECLARE(ON_Group);
23 public:
24  ON_Group();
25  ~ON_Group();
26  // C++ default copy construction and operator= work fine.
27  // Do not add custom versions.
28 
29  //////////////////////////////////////////////////////////////////////
30  //
31  // ON_Object overrides
32 
33  /*
34  Description:
35  Tests an object to see if its data members are correctly
36  initialized.
37  Parameters:
38  text_log - [in] if the object is not valid and text_log
39  is not NULL, then a brief englis description of the
40  reason the object is not valid is appened to the log.
41  The information appended to text_log is suitable for
42  low-level debugging purposes by programmers and is
43  not intended to be useful as a high level user
44  interface tool.
45  Returns:
46  @untitled table
47  true object is valid
48  false object is invalid, uninitialized, etc.
49  Remarks:
50  Overrides virtual ON_Object::IsValid
51  */
52  ON_BOOL32 IsValid( ON_TextLog* text_log = NULL ) const;
53 
54  void Dump( ON_TextLog& ) const; // for debugging
55 
56  ON_BOOL32 Write(
57  ON_BinaryArchive& // serialize definition to binary archive
58  ) const;
59 
60  ON_BOOL32 Read(
61  ON_BinaryArchive& // restore definition from binary archive
62  );
63 
64  //////////////////////////////////////////////////////////////////////
65  //
66  // Obsolete interface - just work on the public members
67  void SetGroupName( const wchar_t* );
68  void SetGroupName( const char* );
69 
70  void GetGroupName( ON_wString& ) const;
71  const wchar_t* GroupName() const;
72 
73  void SetGroupIndex(int);
74  int GroupIndex() const;
75 
76 public:
80 };
81 
82 #endif
virtual ON_BOOL32 IsValid(ON_TextLog *text_log=NULL) const =0
ON_wString m_group_name
ON_UUID m_group_id
virtual ON_BOOL32 Write(ON_BinaryArchive &binary_archive) const
virtual ON_BOOL32 Read(ON_BinaryArchive &binary_archive)
virtual void Dump(ON_TextLog &) const
int m_group_index