63 double cp,
double nam,
double nap,
double nbm,
double nbp,
64 double ncm,
double ncp);
73 Shape *
Clone()
const override;
127 void SetSize(
double d)
override;
139 STLModel
GetSTLModel(
int num_nodes = 200)
override;
218 void Print()
override;
A class representing a poly superquadric with three different axes and orders.
Definition shape_poly_super_quadrics.hpp:30
Vec2d axis_b
Definition shape_poly_super_quadrics.hpp:32
Vec2d axis_c
Definition shape_poly_super_quadrics.hpp:32
Vec4d quat_conj
Definition shape_poly_super_quadrics.hpp:38
Vec3d SupportPoint(Vec3d const &dir) override
Compute the support point of the PolySuperQuadrics object in a given direction.
Definition shape_poly_super_quadrics.cpp:274
void Init()
Initialize the PolySuperQuadrics object.
Definition shape_poly_super_quadrics.cpp:91
void UpdateShapeProperties() override
Update the shape properties of the PolySuperQuadrics object.
Definition shape_poly_super_quadrics.cpp:105
PolySuperQuadrics()
Default constructor.
Definition shape_poly_super_quadrics.cpp:13
void Print() override
Print information about the PolySuperQuadrics object.
Definition shape_poly_super_quadrics.cpp:480
Vec2d order_c
Definition shape_poly_super_quadrics.hpp:33
nlohmann::json PackJson() override
Pack the PolySuperQuadrics object into a JSON structure.
Definition shape_poly_super_quadrics.cpp:34
Vec2d axis_a
Definition shape_poly_super_quadrics.hpp:32
Shape * Clone() const override
Clone the PolySuperQuadrics object.
Definition shape_poly_super_quadrics.cpp:32
Vec3d pos_ref
Definition shape_poly_super_quadrics.hpp:37
void SetSize(double d) override
Set the size of the PolySuperQuadrics object.
Definition shape_poly_super_quadrics.cpp:72
double SignedDistance(Vec3d const &pos) const override
Compute the signed distance from a given position to the surface of the PolySuperQuadrics object.
Definition shape_poly_super_quadrics.cpp:385
STLModel GetSTLModel(int num_nodes=200) override
Generate an STL model for the PolySuperQuadrics object.
Definition shape_poly_super_quadrics.cpp:260
Vec2d order_b
Definition shape_poly_super_quadrics.hpp:33
VecXT< Vec3d > SupportPoints(Vec3d const &dir) override
Compute the support points of the PolySuperQuadrics object in a given direction.
Definition shape_poly_super_quadrics.cpp:379
void UpdateSurfaceNodes() override
Update surface nodes of the PolySuperQuadrics object.
Definition shape_poly_super_quadrics.cpp:98
Vec2d order_a
Definition shape_poly_super_quadrics.hpp:33
Vec3d SurfacePoint(Vec3d const &pos) override
Compute the surface point on the PolySuperQuadrics object closest to a given position.
Definition shape_poly_super_quadrics.cpp:413
void InitFromJson(nlohmann::json const &js) override
Initialize the PolySuperQuadrics object from a JSON structure.
Definition shape_poly_super_quadrics.cpp:48
Vec3d ParametrizationPoint(Vec3d const &dir)
Compute the parameterization point on the PolySuperQuadrics object in a given direction.
Definition shape_poly_super_quadrics.cpp:441
Vec4d quat_ref
Definition shape_poly_super_quadrics.hpp:38
This class represents different types of shapes and performs various calculations on them.
Definition shape.hpp:15
Definition bond_entry.hpp:7
std::array< double, 2 > Vec2d
Definition utils_macros.hpp:17
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
std::array< double, 4 > Vec4d
Definition utils_macros.hpp:19