Template Class ub_tree

Nested Relationships

Nested Types

Inheritance Relationships

Base Type

Class Documentation

template<typename T>
class ub_tree : public ifcopenshell::geom::tree

Public Functions

inline virtual std::string backend_id() const override
inline virtual void add_file(ifcopenshell::file &file, const ifcopenshell::geom::settings &settings) override
inline virtual void add_element(ifcopenshell::geom::element *element) override
inline virtual std::vector<express::base> select_box(const ifcopenshell::geom::tree_point &point) const override
inline virtual std::vector<express::base> select_box(const ifcopenshell::geom::tree_box &bounds, bool completely_within = false) const override
inline virtual std::vector<express::base> select(const ifcopenshell::geom::element *element, bool completely_within = false, double extend = -1.e-5) const override
inline virtual std::vector<express::base> select(const ifcopenshell::geom::tree_point &point, double extend = 0.0) const override
inline virtual std::vector<ifcopenshell::geom::ray_intersection_result> select_ray(const ifcopenshell::geom::tree_point &origin, const ifcopenshell::geom::tree_point &direction, double length = 1000.) const override
inline virtual const std::vector<double> &distances() const override
inline virtual const std::vector<double> &protrusion_distances() const override
inline virtual bool enable_face_styles() const override
inline virtual void enable_face_styles(bool enable) override
inline virtual const std::vector<ifcopenshell::geom::taxonomy::style::ptr> &styles() const override
inline void add(const T &t, const Bnd_Box &b)
inline void add(const T &t, const TopoDS_Shape &s)
inline std::vector<T> select_box(const T &t, bool completely_within = false, double extend = -1.e-5) const
inline std::vector<T> select_box(const gp_Pnt &p, double extend = 0.0) const
inline std::vector<T> select_box(const Bnd_Box &b, bool completely_within = false) const
inline std::vector<T> select(const T &t, bool completely_within = false, double extend = 0.0) const
inline std::vector<T> select(const TopoDS_Shape &s, bool completely_within = false, double extend = -1.e-5) const
inline std::vector<T> select(const gp_Pnt &p, double extend = 0.0) const

Protected Types

typedef NCollection_UBTree<T, Bnd_Box> spatial_tree
typedef std::map<T, TopoDS_Shape> shape_map
typedef NCollection_DataMap<TopoDS_Shape, int, TopTools_ShapeMapHasher> face_style_map

Protected Attributes

spatial_tree tree_
shape_map shapes_
mutable std::vector<double> distances_
mutable std::vector<double> protrusion_distances_
bool enable_face_styles_ = false
face_style_map face_styles_
std::vector<ifcopenshell::geom::taxonomy::style::ptr> styles_
class selector : public spatial_tree::Selector

Public Functions

inline selector(const Bnd_Box &b)
inline bool Reject(const Bnd_Box &b) const
inline bool Accept(const T &o)
inline const std::vector<T> &results() const