Rhino C++ API  8.7
Public Member Functions | Protected Member Functions | List of all members
ON_XMLUserData Class Referenceabstract

#include <opennurbs_xml.h>

Inheritance diagram for ON_XMLUserData:
ON_UserData ON_Object ON_CurvePipingUserData ON_DisplacementUserData ON_EdgeSofteningUserData ON_RdkUserData ON_ShutLiningUserData ON_ThickeningUserData

Public Member Functions

 ON_XMLUserData ()
 ON_XMLUserData (const ON_XMLUserData &ud)
virtual ~ON_XMLUserData ()
virtual void _Dump (const wchar_t *wszFileName) const
virtual bool Archive (void) const override
virtual void Clear (void) const
virtual void * EVF (const wchar_t *func, void *data)
 Emergency virtual function for future expansion. More...
const ON_XMLUserDataoperator= (const ON_XMLUserData &ud)
virtual ON_XMLPropertyProperty (const wchar_t *xml_path, const wchar_t *prop_name) const
virtual bool Read (ON_BinaryArchive &) override
virtual void ReportVersionError (void) const =0
virtual void SetToDefaults (void) const =0
virtual void SetToDefaultsImpl (int) const
virtual void SetValue (const wchar_t *xml_path, const ON_XMLVariant &value)
virtual bool SetValue (const wchar_t *xml_path, const wchar_t *prop_name, const ON_XMLVariant &value)
virtual ON_XMLVariant Value (const wchar_t *xml_path, const wchar_t *prop_name=L"") const
virtual int Version (void) const
virtual bool Write (ON_BinaryArchive &) const override
virtual const ON_XMLRootNodeXMLRootForRead (void) const
virtual ON_XMLRootNodeXMLRootForWrite (void) const
- Public Member Functions inherited from ON_UserData
 ON_UserData ()
 ON_UserData (const ON_UserData &)
 ~ON_UserData ()
virtual bool DeleteAfterRead (const class ON_BinaryArchive &archive, class ON_Object *parent_object) const
virtual bool DeleteAfterWrite (const class ON_BinaryArchive &archive, const class ON_Object *parent_object) const
void Dump (ON_TextLog &text_log) const override
virtual bool GetDescription (ON_wString &description)
bool IsUnknownUserData () const
bool IsValid (class ON_TextLog *text_log=nullptr) const override
ON_UserDataNext () const
ON_UserDataoperator= (const ON_UserData &)
ON_ObjectOwner () const
 Returns object that owns the user data. More...
unsigned int SizeOf () const override
virtual bool Transform (const ON_Xform &)
ON_UUID UserDataClassUuid () const
virtual bool WriteToArchive (const class ON_BinaryArchive &archive, const class ON_Object *parent_object) const
- Public Member Functions inherited from ON_Object
 ON_Object (const ON_Object &)
virtual ~ON_Object ()
virtual ON_AggregateComponentStatus AggregateComponentStatus () const
bool AttachUserData (class ON_UserData *pUserData)
unsigned int ClearAllComponentStates () const
virtual unsigned int ClearComponentStates (ON_COMPONENT_INDEX component_index, ON_ComponentStatus states_to_clear) const
virtual unsigned int ClearComponentStates (ON_ComponentStatus states_to_clear) const
void CopyUserData (const ON_Object &source_object)
unsigned int CopyUserData (const ON_Object &source_object, ON_UUID source_userdata_item_id, ON_Object::UserDataConflictResolution userdata_conflict_resolution)
virtual ON__UINT32 DataCRC (ON__UINT32 current_remainder) const
virtual bool DeleteComponents (const ON_COMPONENT_INDEX *ci_list, size_t ci_count)
virtual void DestroyRuntimeCache (bool bDelete=true)
bool DetachUserData (class ON_UserData *pUserData)
void EmergencyDestroy ()
class ON_UserDataFirstUserData () const
virtual unsigned int GetComponentsWithSetStates (ON_ComponentStatus states_filter, bool bAllEqualStates, ON_SimpleArray< ON_COMPONENT_INDEX > &components) const
class ON_UserDataGetUserData (const ON_UUID &userdata_uuid) const
bool GetUserString (const wchar_t *key, ON_wString &string_value) const
int GetUserStringKeys (ON_ClassArray< ON_wString > &user_string_keys) const
int GetUserStrings (ON_ClassArray< ON_UserString > &user_strings) const
bool IsCorrupt (bool bRepair, bool bSilentError, class ON_TextLog *text_log) const
bool IsKindOf (const ON_ClassId *pClassId) const
virtual void MarkAggregateComponentStatusAsNotCurrent () const
virtual void MemoryRelocate ()
virtual ON_UUID ModelObjectId () const
void MoveUserData (ON_Object &source_object)
unsigned int MoveUserData (ON_Object &source_object, ON_UUID source_userdata_item_id, ON_Object::UserDataConflictResolution userdata_conflict_resolution, bool bDeleteAllSourceItems)
virtual ON::object_type ObjectType () const
ON_Objectoperator= (const ON_Object &)
void PurgeUserData ()
virtual unsigned int SetComponentStates (ON_COMPONENT_INDEX component_index, ON_ComponentStatus states_to_set) const
virtual unsigned int SetComponentStatus (ON_COMPONENT_INDEX component_index, ON_ComponentStatus status_to_copy) const
bool SetUserString (const wchar_t *key, const wchar_t *string_value)
int SetUserStrings (int count, const ON_UserString *user_strings, bool bReplace)
bool ThisIsNullptr (bool bSilentError) const
void TransformUserData (const class ON_Xform &xform)
virtual bool UpdateReferencedComponents (const class ON_ComponentManifest &source_manifest, const class ON_ComponentManifest &destination_manifest, const class ON_ManifestMap &manifest_map)
int UserStringCount () const

Protected Member Functions

ON_XMLPropertyInternalProperty (const wchar_t *xml_path, const wchar_t *prop_name) const

Additional Inherited Members

- Public Types inherited from ON_Object
enum  UserDataConflictResolution : unsigned char {
  UserDataConflictResolution::destination_object = 0, UserDataConflictResolution::source_object = 1, UserDataConflictResolution::source_copycount_gt = 2, UserDataConflictResolution::source_copycount_ge = 3,
  UserDataConflictResolution::destination_copycount_gt = 4, UserDataConflictResolution::destination_copycount_ge = 5, UserDataConflictResolution::delete_item = 6
- Public Attributes inherited from ON_UserData
ON_UUID m_application_uuid
unsigned int m_userdata_copycount
ON_UUID m_userdata_uuid
ON_Xform m_userdata_xform

Constructor & Destructor Documentation

◆ ON_XMLUserData() [1/2]

ON_XMLUserData::ON_XMLUserData ( )

◆ ON_XMLUserData() [2/2]

ON_XMLUserData::ON_XMLUserData ( const ON_XMLUserData ud)

◆ ~ON_XMLUserData()

virtual ON_XMLUserData::~ON_XMLUserData ( )

Member Function Documentation

◆ _Dump()

virtual void ON_XMLUserData::_Dump ( const wchar_t *  wszFileName) const

◆ Archive()

virtual bool ON_XMLUserData::Archive ( void  ) const

Description: If Archive() returns true, m_application_uuid is not nil, and the virtual Read() and Write() are functions are overridden, then this user data will be written to and read from 3dm archives.

Returns: true if user data should be saved in binary archives. false if the user data should not be saved in binary archives.

Remarks: The default implementation returns false. If you override ON_UserData::Archive so that it returns true, then your constructor must set m_application_uuid, you must override the virtual ON_Object::Read and ON_Object::Write functions and you must CAREFULLY TEST your code.

ON_UserData requires expert programming and testing skills.

If you need to know more details about the archive or parent object to determine if the userdata should be saved, then override WriteToArchive().


Reimplemented from ON_UserData.

◆ Clear()

virtual void ON_XMLUserData::Clear ( void  ) const

◆ EVF()

virtual void* ON_XMLUserData::EVF ( const wchar_t *  func,
void *  data 

Emergency virtual function for future expansion.

◆ InternalProperty()

ON_XMLProperty* ON_XMLUserData::InternalProperty ( const wchar_t *  xml_path,
const wchar_t *  prop_name 
) const

◆ operator=()

const ON_XMLUserData& ON_XMLUserData::operator= ( const ON_XMLUserData ud)

◆ Property()

virtual ON_XMLProperty* ON_XMLUserData::Property ( const wchar_t *  xml_path,
const wchar_t *  prop_name 
) const

◆ Read()

virtual bool ON_XMLUserData::Read ( ON_BinaryArchive binary_archive)

Description: Low level archive writing tool used by ON_BinaryArchive::ReadObject(). Parameters: binary_archive - archive to read from Returns: Returns true if the read is successful. Remarks: Use ON_BinaryArchive::ReadObject() to read objects. This Read() function should read the objects definition back into its data members.

The default implementation of this virtual function returns false and does nothing.

Reimplemented from ON_Object.

Reimplemented in ON_RdkUserData, and ON_DisplacementUserData.

◆ ReportVersionError()

virtual void ON_XMLUserData::ReportVersionError ( void  ) const
pure virtual

◆ SetToDefaults()

virtual void ON_XMLUserData::SetToDefaults ( void  ) const
pure virtual

◆ SetToDefaultsImpl()

virtual void ON_XMLUserData::SetToDefaultsImpl ( int  ) const

◆ SetValue() [1/2]

virtual void ON_XMLUserData::SetValue ( const wchar_t *  xml_path,
const ON_XMLVariant value 

◆ SetValue() [2/2]

virtual bool ON_XMLUserData::SetValue ( const wchar_t *  xml_path,
const wchar_t *  prop_name,
const ON_XMLVariant value 

◆ Value()

virtual ON_XMLVariant ON_XMLUserData::Value ( const wchar_t *  xml_path,
const wchar_t *  prop_name = L"" 
) const

◆ Version()

virtual int ON_XMLUserData::Version ( void  ) const

◆ Write()

virtual bool ON_XMLUserData::Write ( ON_BinaryArchive binary_archive) const

Description: Low level archive writing tool used by ON_BinaryArchive::WriteObject(). Parameters: binary_archive - archive to write to Returns: Returns true if the write is successful. Remarks: Use ON_BinaryArchive::WriteObject() to write objects. This Write() function should just write the specific definition of this object. It should not write and any chunk typecode or length information.

The default implementation of this virtual function returns false and does nothing.

Reimplemented from ON_Object.

Reimplemented in ON_RdkUserData.

◆ XMLRootForRead()

virtual const ON_XMLRootNode& ON_XMLUserData::XMLRootForRead ( void  ) const

◆ XMLRootForWrite()

virtual ON_XMLRootNode& ON_XMLUserData::XMLRootForWrite ( void  ) const