![]() |
NDEVR
API Documentation
|
Specialization of PropertyInterface for the NDPO property enum. More...
Static Public Member Functions | |
| static constexpr TableColumn * | column (const DesignInfo *object, NDPO property) |
| Retrieves the TableColumn pointer for a given NDPO property. | |
| template<NDPO t_property> | |
| static decltype(auto) | Get (const DesignInfo *object) |
| Gets the value of a compile-time NDPO property with the type deduced from PropertySpec. | |
| template<NDPO t_property, class t_value_type> | |
| static decltype(auto) | Get (const DesignInfo *object) |
| Gets the value of a compile-time NDPO property with an explicit value type. | |
| template<class t_value_type> | |
| static decltype(auto) | Get (const DesignInfo *object, NDPO property) |
| Gets the value of an NDPO property using a runtime property enum. | |
| static uint04 | index (const DesignInfo *object, NDPO property) |
| Retrieves the row index for a given property on the specified design object. | |
| static bool | IsSame (const DesignInfo *object, NDPO property, const StringView &value) |
| Checks whether an NDPO property's stored value matches a given string representation. | |
| template<NDPO t_property> | |
| static void | Set (DesignInfo *object, const typename PropertySpec< t_property >::type &value) |
| Sets the value of a compile-time NDPO property with optimized direct-member access. | |
| template<class t_value_type> | |
| static void | Set (DesignInfo *object, NDPO property, const t_value_type &value) |
| Sets the value of an NDPO property using a runtime property enum. | |
Specialization of PropertyInterface for the NDPO property enum.
Provides optimized Get and Set methods for NDPO properties. The Set methods handle special-case side effects (e.g., propagating transform and visibility changes through the design hierarchy). The compile-time Set overload uses constexpr branching to access optimized direct-member storage paths where available.
Definition at line 325 of file DesignProperties.h.
|
inlinestaticconstexpr |
Retrieves the TableColumn pointer for a given NDPO property.
| [in] | object | The design object to query. |
| [in] | property | The NDPO property enum value. |
Definition at line 458 of file DesignProperties.h.
|
inlinestatic |
Gets the value of a compile-time NDPO property with the type deduced from PropertySpec.
Uses constexpr branching to access optimized direct-member storage paths for commonly accessed properties (guid, name, transform, timestamps, visibility, etc.). Falls back to generic column-based access for other properties.
| t_property | The compile-time NDPO property enum value. |
| [in] | object | The design object to query. |
Definition at line 486 of file DesignProperties.h.
References DesignObjectBase::asc_modified_time, asc_modified_time, DesignObjectBase::bounding_box, bounding_box, PropertyInterface< t_property_enum >::column(), DesignObjectBase::desc_modified_time, desc_modified_time, DesignObjectBase::design_type, design_type, TableColumn::get(), DesignObjectBase::guid, guid, DesignObjectBase::is_deleted, is_deleted, DesignInfo::m_base, DesignInfo::m_index, DesignObjectBase::modified_time, modified_time, DesignObjectBase::name, name, rcast(), DesignObjectBase::spacial_visible, spacial_visible, DesignObjectBase::transform, transform, DesignObjectBase::tree_visible, and tree_visible.
|
inlinestatic |
Gets the value of a compile-time NDPO property with an explicit value type.
| t_property | The compile-time NDPO property enum value. |
| t_value_type | The expected return type. |
| [in] | object | The design object to query. |
Definition at line 349 of file DesignProperties.h.
References PropertyInterface< t_property_enum >::column(), and TableColumn::get().
|
inlinestatic |
Gets the value of an NDPO property using a runtime property enum.
| t_value_type | The expected return type. |
| [in] | object | The design object to query. |
| [in] | property | The NDPO property to read. |
Definition at line 336 of file DesignProperties.h.
References PropertyInterface< t_property_enum >::column(), and TableColumn::get().
Referenced by Set().
|
inlinestatic |
Retrieves the row index for a given property on the specified design object.
| [in] | object | The design object to query. |
| [in] | property | The property enum value. |
Definition at line 144 of file DesignProperties.h.
|
inlinestatic |
Checks whether an NDPO property's stored value matches a given string representation.
| [in] | object | The design object to query. |
| [in] | property | The NDPO property to compare. |
| [in] | value | The string to compare against. |
Definition at line 470 of file DesignProperties.h.
References PropertyInterface< t_property_enum >::column(), TableColumn::isSame(), and DesignInfo::m_index.
|
inlinestatic |
Sets the value of a compile-time NDPO property with optimized direct-member access.
Uses constexpr branching to select the most efficient storage path for each property. Certain properties (e.g., transform, spacial_visible) trigger side-effect propagation. Setting is_deleted directly is disallowed via static_assert.
| t_property | The compile-time NDPO property enum value. |
| [in] | object | The design object to modify. |
| [in] | value | The value to assign, typed according to PropertySpec<t_property>. |
Definition at line 397 of file DesignProperties.h.
References asc_modified_time, bounding_box, desc_modified_time, design_type, guid, is_deleted, IsValid(), DesignInfo::m_index, modified_time, name, rcast(), spacial_visible, transform, and tree_visible.
|
inlinestatic |
Sets the value of an NDPO property using a runtime property enum.
Handles special-case side effects for design_type, spacial_visible, and transform properties. All other properties are set directly on the column.
| t_value_type | The type of the value to set. |
| [in] | object | The design object to modify. |
| [in] | property | The NDPO property to set. |
| [in] | value | The value to assign. |
Definition at line 365 of file DesignProperties.h.
References design_type, Get(), DesignInfo::m_index, spacial_visible, and transform.