Rhino C++ API  8.6
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 () ON_NOEXCEPT
 
 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 ( )
virtual

Member Function Documentation

◆ _Dump()

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

◆ Archive()

virtual bool ON_XMLUserData::Archive ( void  ) const
overridevirtual

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().

YOU SHOULD READ AND UNDERSTAND EVERY COMMENT IN THIS HEADER FILE IN BEFORE ATTEMPTING TO USE ON_UserData.

Reimplemented from ON_UserData.

◆ Clear()

virtual void ON_XMLUserData::Clear ( void  ) const
virtual

◆ EVF()

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

Emergency virtual function for future expansion.

◆ InternalProperty()

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

◆ 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
virtual

◆ Read()

virtual bool ON_XMLUserData::Read ( ON_BinaryArchive binary_archive)
overridevirtual

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
virtual

◆ SetValue() [1/2]

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

◆ SetValue() [2/2]

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

◆ Value()

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

◆ Version()

virtual int ON_XMLUserData::Version ( void  ) const
virtual

◆ Write()

virtual bool ON_XMLUserData::Write ( ON_BinaryArchive binary_archive) const
overridevirtual

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
virtual

◆ XMLRootForWrite()

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