Class conversion_result_shape

Inheritance Relationships

Derived Types

Class Documentation

class conversion_result_shape

Subclassed by ifcopenshell::geom::cgal_shape, ifcopenshell::geom::cgal_shape_half_space_decomposition, ifcopenshell::geom::manifold_shape, ifcopenshell::geom::open_cascade_shape, ifcopenshell::geom::passthrough_shape

Public Functions

virtual std::string_view backend_id() const = 0
virtual void triangulate(ifcopenshell::geom::settings settings, const ifcopenshell::geom::taxonomy::matrix4 &place, triangulation *t, int item_id, int surface_style_id, ifcopenshell::logger &logger = ifcopenshell::logger::root()) const = 0
ifcopenshell::geom::triangulation *triangulate(const ifcopenshell::geom::settings &settings, ifcopenshell::logger &logger = ifcopenshell::logger::root()) const
virtual void serialize(const ifcopenshell::geom::taxonomy::matrix4 &place, std::string&) const = 0
virtual int surface_genus() const = 0
virtual bool is_manifold() const = 0
virtual int num_vertices() const = 0
virtual int num_edges() const = 0
virtual int num_faces() const = 0
virtual double bounding_box(void*&) const = 0
virtual std::pair<opaque_coordinate<3>, opaque_coordinate<3>> bounding_box() const = 0
virtual void set_box(void *b) = 0
virtual opaque_number length() = 0
virtual opaque_number area() = 0
virtual opaque_number volume() = 0
virtual opaque_coordinate<3> position() = 0
virtual opaque_coordinate<3> axis() = 0
virtual opaque_coordinate<4> plane_equation() = 0
virtual std::vector<conversion_result_shape*> convex_decomposition() = 0
virtual conversion_result_shape *halfspaces() = 0
virtual conversion_result_shape *box() = 0
virtual conversion_result_shape *solid() = 0
virtual conversion_result_shape *wrap_in_compound() = 0
virtual std::vector<conversion_result_shape*> vertices() = 0
virtual std::vector<conversion_result_shape*> edges() = 0
virtual std::vector<conversion_result_shape*> facets() = 0
virtual conversion_result_shape *add(conversion_result_shape*) = 0
virtual conversion_result_shape *subtract(conversion_result_shape*) = 0
virtual conversion_result_shape *intersect(conversion_result_shape*) = 0
virtual conversion_result_shape *concat(conversion_result_shape*) = 0
virtual std::size_t map(opaque_coordinate<4> &from, opaque_coordinate<4> &to) = 0
virtual std::size_t map(const std::vector<opaque_coordinate<4>> &from, const std::vector<opaque_coordinate<4>> &to) = 0
virtual conversion_result_shape *moved(ifcopenshell::geom::taxonomy::matrix4::ptr) const = 0
virtual bool surface_area_along_direction(double tol, const ifcopenshell::geom::taxonomy::matrix4::ptr&, double &along_x, double &along_y, double &along_z) const = 0
inline virtual ~conversion_result_shape()