94 void SetSize(
double d)
override;
200 void Print()
override;
A class for representing an ellipsoid shape.
Definition shape_ellipsoid.hpp:15
double axis_b
The length of the semi-axis in the y direction.
Definition shape_ellipsoid.hpp:25
double axis_c
The length of the semi-axis in the z direction.
Definition shape_ellipsoid.hpp:30
void UpdateShapeProperties() override
Update the shape properties of the Ellipsoid object.
Definition shape_ellipsoid.cpp:89
nlohmann::json PackJson() override
Pack the Ellipsoid object into a JSON structure.
Definition shape_ellipsoid.cpp:31
void UpdateSurfaceNodes() override
Update the surface nodes of the Ellipsoid object.
Definition shape_ellipsoid.cpp:67
double axis_a
The length of the semi-axis in the x direction.
Definition shape_ellipsoid.hpp:20
STLModel GetSTLModel(int num_nodes=200) override
Generate an STL model of the Ellipsoid object.
Definition shape_ellipsoid.cpp:118
VecXT< Vec3d > SupportPoints(Vec3d const &dir) override
Compute the support points in a given direction for the Ellipsoid object.
Definition shape_ellipsoid.cpp:180
void InitFromJson(nlohmann::json const &js) override
Initialize the Ellipsoid object from a JSON structure.
Definition shape_ellipsoid.cpp:41
double CalculateRho(Vec3d const &dir) const
Compute the distance from the center of the Ellipsoid object to a plane perpendicular to its axis in ...
Definition shape_ellipsoid.cpp:206
void Print() override
Print information about the Ellipsoid object.
Definition shape_ellipsoid.cpp:221
Ellipsoid()
Default constructor.
Definition shape_ellipsoid.cpp:14
void SetSize(double d) override
Set the size of the Ellipsoid object.
Definition shape_ellipsoid.cpp:51
Vec3d SurfacePoint(Vec3d const &pos) override
Compute the surface point closest to a given position on the Ellipsoid object.
Definition shape_ellipsoid.cpp:196
void Init()
Initialize the Ellipsoid object.
Definition shape_ellipsoid.cpp:60
Shape * Clone() const override
Clone the Ellipsoid object.
Definition shape_ellipsoid.cpp:29
double SignedDistance(Vec3d const &pos) const override
Compute the signed distance from a given position to the surface of the Ellipsoid object.
Definition shape_ellipsoid.cpp:186
Vec3d SupportPoint(Vec3d const &dir) override
Compute the support point in a given direction for the Ellipsoid object.
Definition shape_ellipsoid.cpp:168
Class for working with STL models.
Definition stl_model.hpp:17
This class represents different types of shapes and performs various calculations on them.
Definition shape.hpp:15
Definition bond_entry.hpp:7
std::vector< T > VecXT
Definition utils_macros.hpp:31
pos
Definition json_serilization.hpp:19
std::array< double, 3 > Vec3d
Definition utils_macros.hpp:18