17 #if !defined(OPENNURBS_UUID_INC_) 18 #define OPENNURBS_UUID_INC_ 21 #if !defined(ON_UUID_DEFINED) 25 #define ON_UUID_DEFINED 27 #if defined(UUID_DEFINED) 29 #elif defined(GUID_DEFINED) 47 extern ON_EXTERN_DECL
const ON_UUID ON_nil_uuid;
51 extern ON_EXTERN_DECL
const ON_UUID ON_max_uuid;
61 extern ON_EXTERN_DECL
const ON_UUID ON_rhino2_id;
62 extern ON_EXTERN_DECL
const ON_UUID ON_rhino3_id;
63 extern ON_EXTERN_DECL
const ON_UUID ON_rhino4_id;
64 extern ON_EXTERN_DECL
const ON_UUID ON_rhino5_id;
65 extern ON_EXTERN_DECL
const ON_UUID ON_rhino6_id;
66 extern ON_EXTERN_DECL
const ON_UUID ON_rhino_id;
70 extern ON_EXTERN_DECL
const ON_UUID ON_v2_userdata_id;
71 extern ON_EXTERN_DECL
const ON_UUID ON_v3_userdata_id;
72 extern ON_EXTERN_DECL
const ON_UUID ON_v4_userdata_id;
84 #if defined(ON_COMPILING_OPENNURBS) 85 extern const ON_UUID ON_opennurbs4_id;
86 extern const ON_UUID ON_opennurbs5_id;
87 extern const ON_UUID ON_opennurbs6_id;
89 extern ON_EXTERN_DECL
const ON_UUID ON_opennurbs_id;
101 unsigned int ON_IsRhinoApplicationId(
115 unsigned int ON_IsOpennurbsApplicationId(
121 #if defined(ON_CPLUSPLUS) 132 bool ON_CreateUuid(
ON_UUID& uuid );
156 ON_UUID ON_NotUniqueIdFromIndex(
157 ON__UINT64 index_64_bit
178 ON_UUID ON_NotUniqueIdFromIndex(
179 ON__UINT32 index_32_bit
217 ON__UINT64 ON_IndexFromNotUniqueId(
296 class ON_CLASS ON_UuidIndex
299 static const ON_UuidIndex NilIndex;
301 ON_UuidIndex() =
default;
302 ~ON_UuidIndex() =
default;
303 ON_UuidIndex(
const ON_UuidIndex&) =
default;
304 ON_UuidIndex& operator=(
const ON_UuidIndex&) =
default;
310 int CompareIdAndIndex(
const ON_UuidIndex* a,
const ON_UuidIndex* b );
316 int CompareIndexAndId(
const ON_UuidIndex* a,
const ON_UuidIndex* b );
322 int CompareId(
const ON_UuidIndex* a,
const ON_UuidIndex* b );
328 int CompareIndex(
const ON_UuidIndex* a,
const ON_UuidIndex* b );
344 class ON_CLASS ON_UuidPtr
347 static const ON_UuidPtr NilPtr;
349 ON_UuidPtr() =
default;
350 ~ON_UuidPtr() =
default;
351 ON_UuidPtr(
const ON_UuidPtr&) =
default;
352 ON_UuidPtr& operator=(
const ON_UuidPtr&) =
default;
358 int CompareIdAndPtr(
const ON_UuidPtr* a,
const ON_UuidPtr* b );
364 int ComparePtrAndId(
const ON_UuidPtr* a,
const ON_UuidPtr* b );
370 int CompareId(
const ON_UuidPtr* a,
const ON_UuidPtr* b );
376 int ComparePtr(
const ON_UuidPtr* a,
const ON_UuidPtr* b );
382 ON__UINT_PTR m_ptr = 0;
445 bool ON_UuidIsNotNil(
464 ON_UUID ON_UuidFromString(
const char* s );
481 ON_UUID ON_UuidFromString(
const wchar_t* s );
496 char* ON_UuidToString(
const ON_UUID& uuid,
char* s );
512 wchar_t* ON_UuidToString(
const ON_UUID& uuid,
wchar_t* s );
533 const char* ON_ParseUuidString(
576 const wchar_t* separator,
577 const wchar_t* source
583 const wchar_t* separator,
584 const wchar_t* source
589 const wchar_t* source,
590 const wchar_t* separator,
596 const wchar_t* source,
597 const wchar_t* separator,
ON_UUID is a 16 byte universally unique identifier.
Definition: opennurbs_uuid.h:32
Definition: opennurbs_string.h:2020
unsigned short Data3
Definition: opennurbs_uuid.h:36
unsigned short Data2
Definition: opennurbs_uuid.h:35
Definition: opennurbs_string.h:852
unsigned int Data1
Definition: opennurbs_uuid.h:34
unsigned char Data4[8]
Definition: opennurbs_uuid.h:37