Class entity

Inheritance Relationships

Base Type

Class Documentation

class entity : public ifcopenshell::declaration

Public Functions

inline entity(const std::string &name, bool is_abstract, int index_in_schema, entity *supertype)
virtual ~entity()
inline bool is_abstract() const
inline void set_subtypes(const std::vector<const entity*> &subtypes)
inline void set_attributes(const std::vector<const attribute*> &attributes, const std::vector<bool> &derived)
inline void set_inverse_attributes(const std::vector<const inverse_attribute*> &inverse_attributes)
inline const std::vector<const entity*> &subtypes() const
inline const std::vector<const attribute*> &attributes() const
inline const std::vector<const inverse_attribute*> &inverse_attributes() const
inline const std::vector<bool> &derived() const
inline const std::vector<const attribute*> &all_attributes() const
inline const std::vector<const inverse_attribute*> all_inverse_attributes() const
inline const attribute *attribute_by_index(size_t index) const
inline size_t attribute_count() const
inline ptrdiff_t attribute_index(const attribute *attribute_definition) const
inline ptrdiff_t attribute_index(const std::string &attr_name) const
inline const entity *supertype() const
inline virtual const entity *as_entity() const

Protected Functions

inline const attribute *attribute_by_index_(size_t &attribute_index) const

Protected Attributes

bool is_abstract_
const entity *supertype_
std::vector<const entity*> subtypes_
std::vector<const attribute*> attributes_
mutable std::optional<std::vector<const attribute*>> all_attributes_
std::vector<bool> derived_
std::vector<const inverse_attribute*> inverse_attributes_