Skip to content

Class uipc::geometry::AttributeSlot

template <typename T>

ClassList > uipc > geometry > AttributeSlot

Template class to represent a geometries attribute slot of type T in a geometries attribute collection. More...

  • #include <attribute_slot.h>

Inherits the following classes: uipc::geometry::IAttributeSlot

Public Types

Type Name
typedef T value_type

Public Functions

Type Name
AttributeSlot (std::string_view name, S< Attribute< T > > attribute, bool allow_destroy)
AttributeSlot (std::string_view name, S< Attribute< T > > attribute, bool allow_destory, TimePoint tp)
span< const T > view () noexcept const
Get the const attribute values.

Public Functions inherited from uipc::geometry::IAttributeSlot

See uipc::geometry::IAttributeSlot

Type Name
IAttributeSlot () = default
IAttributeSlot (const IAttributeSlot &) = delete
IAttributeSlot (IAttributeSlot &&) noexcept
bool allow_destroy () noexcept const
Check if the underlying attribute is allowed to be destroyed.
bool is_evolving () noexcept const
void is_evolving (bool v) noexcept
bool is_shared () noexcept const
Check if the underlying attribute is shared.
TimePoint last_modified () noexcept const
Get the last modification time of the attribute slot.
std::string_view name () noexcept const
Get the name of the attribute slot.
IAttributeSlot & operator= (const IAttributeSlot &) = delete
IAttributeSlot & operator= (IAttributeSlot &&) noexcept
SizeT size () noexcept const
Json to_json () const
std::string_view type_name () noexcept const
Get the type name of data stored in the attribute slot.
virtual ~IAttributeSlot () = default

Protected Functions inherited from uipc::geometry::IAttributeSlot

See uipc::geometry::IAttributeSlot

Type Name
virtual IAttribute & attribute () noexcept
virtual const IAttribute & attribute () noexcept const
S< IAttributeSlot > clone (std::string_view name, bool allow_destroy) const
S< IAttributeSlot > clone_empty (std::string_view name, bool allow_destroy) const
virtual S< IAttributeSlot > do_clone (std::string_view name, bool allow_destroy) const = 0
virtual S< IAttributeSlot > do_clone_empty (std::string_view name, bool allow_destroy) const = 0
virtual void do_make_owned () = 0
virtual void do_share_from (const IAttributeSlot & other) noexcept = 0
virtual bool get_allow_destroy () noexcept const = 0
virtual IAttribute & get_attribute () noexcept = 0
virtual const IAttribute & get_attribute () noexcept const = 0
virtual bool get_is_evolving () noexcept const = 0
virtual TimePoint get_last_modified () noexcept const = 0
virtual std::string_view get_name () noexcept const = 0
virtual SizeT get_use_count () const = 0
void last_modified (const TimePoint & tp)
void make_owned ()
void rw_access ()
virtual void set_is_evolving (bool v) noexcept = 0
virtual void set_last_modified (const TimePoint & tp) noexcept = 0
void share_from (const IAttributeSlot & other) noexcept
SizeT use_count () const

Detailed Description

Template parameters:

  • T The type of the attribute values.

Public Types Documentation

typedef value_type

using uipc::geometry::AttributeSlot< T >::value_type =  T;

Public Functions Documentation

function AttributeSlot [1/2]

uipc::geometry::AttributeSlot::AttributeSlot (
    std::string_view name,
    S< Attribute < T > > attribute,
    bool allow_destroy
) 

function AttributeSlot [2/2]

uipc::geometry::AttributeSlot::AttributeSlot (
    std::string_view name,
    S< Attribute < T > > attribute,
    bool allow_destory,
    TimePoint tp
) 

function view [2/2]

Get the const attribute values.

span< const T > uipc::geometry::AttributeSlot::view () noexcept const

Returns:

span<const T>


Friends Documentation

friend view [1/2]

Get the non-const attribute values.

template<typename U>
span< U > uipc::geometry::AttributeSlot::view (
    AttributeSlot < U > & slot
) 

Returns:

span<T>



The documentation for this class was generated from the following file include/uipc/geometry/attribute_slot.h