16 #error no need to expose this header to Swig
20 #ifndef BORNAGAIN_SAMPLE_SHAPES_ISHAPE3D_H
21 #define BORNAGAIN_SAMPLE_SHAPES_ISHAPE3D_H
23 #include <heinz/Vectors3D.h>
37 virtual std::vector<R3>
vertices()
const;
std::vector< R3 > EllipseVerticesXtrunc(double x, double r_y, double r_z, double z_b, double z_t)
Generate vertices of centered vertical ellipse with given semi-axes at position x and truncation heig...
std::vector< R3 > EllipseVerticesZ(double r_x, double r_y, double z)
Generate vertices of centered horizontal ellipse with given semi-axes at height z.
std::vector< R3 > RectangleVertices(double length, double width, double z)
Helper functions to construct lists of vertices.
Abstract base class for different shapes.
virtual std::vector< R3 > vertices() const
Retrieves a list of the vertices constituting this concrete shape.
std::vector< R3 > m_vertices
List of vertices initialized during construction.
virtual ~IShape3D()=default
static const size_t N_Circle