17 #if !defined(OPENNURBS_INSTANCE_INC_) 18 #define OPENNURBS_INSTANCE_INC_ 37 bool IsNotEmpty()
const;
39 bool HasLayerInformation()
const;
40 bool HasLayerTableInformation()
const;
41 bool HasParentLayerInformation()
const;
70 void AfterReferenceLayerTableRead(
74 ON_Layer* linked_definition_parent_layer,
75 unsigned int layer_count,
95 void AfterLayerTableAddedToModel(
122 void BeforeLinkedDefinitionWrite(
126 const ON_Layer* linked_definition_parent_layer,
132 class ON_ReferencedComponentSettingsImpl* Impl(
136 class ON_ReferencedComponentSettingsImpl* m_impl =
nullptr;
159 LinkedAndEmbedded = 2,
198 unsigned int idef_type_as_unsigned
207 no_idef_settings = 0,
208 idef_name_setting = 1,
209 idef_description_setting = 2,
210 idef_url_setting = 4,
211 idef_units_setting = 8,
212 idef_source_archive_setting = 0x10,
213 idef_userdata_setting = 0x20,
214 all_idef_settings = 0xFFFFFFFF
221 ON_InstanceDefinition& operator=(const ON_InstanceDefinition&);
224 void Internal_Destroy();
225 void Internal_Copy(const ON_InstanceDefinition& src);
229 static const ON_InstanceDefinition Unset;
241 static const ON_InstanceDefinition* FromModelComponentRef(
243 const ON_InstanceDefinition* none_return_value
247 bool IsValid( class
ON_TextLog* text_log =
nullptr ) const override;
260 bool Internal_WriteV5(
263 bool Internal_WriteV6(
273 bool Internal_ReadV5(
276 bool Internal_ReadV6(
281 ON::object_type ObjectType() const override;
284 unsigned int SizeOf() const override;
290 void ClearBoundingBox();
293 void SetDescription( const
wchar_t* description );
296 void SetURL( const
wchar_t* url );
299 void SetURL_Tag( const
wchar_t* url_tag );
312 void SetInstanceGeometryIdList(
320 void ClearInstanceGeometryIdList();
326 bool RemoveInstanceGeometryId(
334 bool RemoveInstanceGeometryId(
347 bool AddInstanceGeometryId(
355 bool IsInstanceGeometryId(
360 int Internal_InstanceGeometryIdIndex(
379 bool SetInstanceDefinitionType(
390 bool SetLinkedFileReference(
395 bool SetLinkedFileReference(
397 const
wchar_t* linked_file_full_path
405 void ClearLinkedFileReference();
407 void ClearLinkedFileContentHash();
409 void ClearLinkedFileRelativePath();
420 void SetUnitSystem( ON::LengthUnitSystem us );
428 bool HasLinkedIdefReferenceComponentSettings() const;
430 void ClearLinkedIdefReferenceComponentSettings();
451 bool bCreateIfNonePresent
465 bool IsLinkedType() const;
478 bool SkipNestedLinkedDefinitions() const;
480 void SetSkipNestedLinkedDefinitions(
481 bool bSkipNestedLinkedDefinitions
509 bool m_bSkipNestedLinkedDefinitions = false;
524 bool Internal_SetLinkedFileReference(
572 unsigned int linked_component_appearance_as_unsigned
577 bool SetLinkedComponentAppearance(
610 void Internal_AccumulateHash()
const;
621 void Internal_ContentChanged();
624 unsigned char m_reserved2A = 0;
625 unsigned char m_reserved2B = 0;
626 unsigned char m_reserved2C = 0;
629 unsigned int m_reserved1 = 0;
632 ON__UINT_PTR m_reserved_ptr = 0;
635 #if defined(ON_DLL_TEMPLATE) 662 bool IsValid(
class ON_TextLog* text_log =
nullptr )
const override;
669 ON::object_type ObjectType()
const override;
675 int Dimension()
const override;
678 bool GetBBox(
double* boxmin,
double* boxmax,
bool bGrowBox =
false )
const override;
685 bool IsDeformable()
const override;
688 bool MakeDeformable()
override;
696 ON_UUID m_instance_definition_uuid = ON_nil_uuid;
709 void ClearReferenceToNestedLinkedIdef();
718 bool SetReferenceToNestedLinkedIdef(
719 const ON_UUID& parent_idef_uuid,
738 bool GetReferenceToNestedLinkedIdef(
748 bool ContainsReferenceToNestedLinkedIdef()
const;
776 bool m_bReferenceToNestedLinkedIdef =
false;
777 ON_UUID m_parent_idef_uuid = ON_nil_uuid;
787 static const double SingularTransformationTolerance;
ON_UUID is a 16 byte universally unique identifier.
Definition: opennurbs_uuid.h:32
The ON_ModelComponent class is a base class for all components in a model and manages the index...
Definition: opennurbs_model_component.h:24
This is the only valid layer style when the instance definition type is ON_InstanceDefinition::IDEF_U...
ON_ManifestIdentificationMap is used to record a map from a source manifest to a destination manifest...
Definition: opennurbs_archive.h:1464
Definition: opennurbs_array.h:36
Definition: opennurbs_instance.h:20
Definition: opennurbs_sha1.h:19
An ON_InstanceDefinition defines the geometry used by instance references.
Definition: opennurbs_instance.h:139
ON_Object array is used to store lists of classes that are derived from ON_Object. It differs from ON_ClassArray in that the virtual ON_Object::MemoryRelocate function is called when growing the dynamic array requires changing the location of the memory buffer used to store the elements in the array.
Definition: opennurbs_array.h:725
Definition: opennurbs_string.h:2020
Base class for all geometry classes that must provide runtime class id. Provides interface for common...
Definition: opennurbs_geometry.h:37
Definition: opennurbs_layer.h:20
Definition: opennurbs_bounding_box.h:25
An ON_InstanceRef is a reference to an instance definition along with transformation to apply to the ...
Definition: opennurbs_instance.h:613
Definition: opennurbs_archive.h:478
Definition: opennurbs_string.h:3739
Definition: opennurbs_textlog.h:20
Definition: opennurbs_archive.h:1783
IDEF_UPDATE_TYPE
Definition: opennurbs_instance.h:148
Definition: opennurbs_model_component.h:1622
Definition: opennurbs_string.h:341
eLinkedComponentAppearance
ON_InstanceDefinition::LinkedComponentStates specifies how model components (layers, materials, dimension styles, ...) from linked instance defintion files are appear in the active model.
Definition: opennurbs_instance.h:510
static const ON_FileReference Unset
Definition: opennurbs_file_utilities.h:1128
static const ON_SHA1_Hash ZeroDigest
Definition: opennurbs_sha1.h:22
Definition: opennurbs_file_utilities.h:1125