AMCAX Kernel 1.0.0.0
AMCAX::Cylinder Class Reference

Class of cylinder. More...

#include <math/Cylinder.hpp>

Inheritance diagram for AMCAX::Cylinder:
Collaboration diagram for AMCAX::Cylinder:

Public Member Functions

 Cylinder ()=default
 Default constructor.
 
AMCAX_API Cylinder (const Frame3 &frame, double r)
 Construct from a local frame and a radius. More...
 
AMCAX_API void SetRadius (double r)
 Set the radius. More...
 
AMCAX_API void UReverse ()
 Reverse the u parameter.
 
AMCAX_API void VReverse ()
 Reverse the v parameter.
 
AMCAX_API void Coefficients (double &a1, double &a2, double &a3, double &b1, double &b2, double &b3, double &c1, double &c2, double &c3, double &d) const
 Get the coefficients of the algebraic representation of the cylinder. More...
 
AMCAX_API double Radius () const
 Get the radius. More...
 
AMCAX_API CylinderScale (const Point3 &point, double scale)
 Scale the cylinder by a point. More...
 
AMCAX_API CylinderTransform (const Transformation3 &tr)
 Transform the cylinder. More...
 
- Public Member Functions inherited from AMCAX::SurfaceBase< Cylinder >
void SetLocation (const Point3 &p)
 Set the location. More...
 
void SetPosition (const Frame3 &frame)
 Set the local frame. More...
 
void SetAxis (const Axis3 &axis)
 Set the main axis (normal axis) of the local frame in 3D. More...
 
Axis3 Axis () const
 Get the main axis (normal axis) More...
 
const Point3Location () const
 Get the location point. More...
 
const Frame3Position () const
 Get the local frame. More...
 
Axis3 XAxis () const
 Get the x axis. More...
 
Axis3 YAxis () const
 Get the y axis. More...
 
bool IsDirect () const
 Determine whether the local frame is right-handed or not. More...
 
CylinderMirror (const Point3 &p)
 Mirror the surface by a point. More...
 
CylinderMirror (const Axis3 &axis)
 Mirror the surface by an axis. More...
 
CylinderMirror (const Frame3 &frame)
 Mirror the surface by a frame. More...
 
Cylinder Mirrored (const Point3 &p) const
 Get the surface mirrored by a point. More...
 
Cylinder Mirrored (const Axis3 &axis) const
 Get the surface mirrored by an axis. More...
 
Cylinder Mirrored (const Frame3 &frame) const
 Get the surface mirrored by a frame. More...
 
CylinderRotate (const Axis3 &axis, double angle)
 Rotate the surface around an axis with an angle in 3D. More...
 
Cylinder Rotated (const Axis3 &axis, double angle) const
 Get the surface rotated around an axis with an angle in 3D. More...
 
CylinderScale (const Point3 &point, double scale)
 Scale the surface by a center point. More...
 
Cylinder Scaled (const Point3 &point, double scale) const
 Get the surface scaled by a center point. More...
 
CylinderTransform (const Transformation3 &tr)
 Transform the surface. More...
 
Cylinder Transformed (const Transformation3 &tr) const
 Get the transformed surface. More...
 
CylinderTranslate (const Vector3 &vec)
 Translate the surface by a vector. More...
 
CylinderTranslate (const Point3 &p1, const Point3 &p2)
 Translate the surface by a vector from a source point to a target point. More...
 
Cylinder Translated (const Vector3 &vec) const
 Get the surface translated by a vector. More...
 
Cylinder Translated (const Point3 &p1, const Point3 &p2) const
 Get the surface translated by a vector from a source point to a target point. More...
 

Additional Inherited Members

- Protected Member Functions inherited from AMCAX::SurfaceBase< Cylinder >
 SurfaceBase ()=default
 Default constructor.
 
 SurfaceBase (const Frame3 &frame)
 Construct from a frame. More...
 
Cylinder_derived ()
 Cast to derived class. More...
 
const Cylinder_derived () const
 Cast to derived class. More...
 
- Protected Attributes inherited from AMCAX::SurfaceBase< Cylinder >
Frame3 pos
 The local coordinate system.
 

Detailed Description

Class of cylinder.

Constructor & Destructor Documentation

◆ Cylinder()

AMCAX_API AMCAX::Cylinder::Cylinder ( const Frame3 frame,
double  r 
)

Construct from a local frame and a radius.

Parameters
frameThe local frame
rThe radius

Member Function Documentation

◆ Coefficients()

AMCAX_API void AMCAX::Cylinder::Coefficients ( double &  a1,
double &  a2,
double &  a3,
double &  b1,
double &  b2,
double &  b3,
double &  c1,
double &  c2,
double &  c3,
double &  d 
) const

Get the coefficients of the algebraic representation of the cylinder.

The algebraic representation of the cylinder is a_1 x^2 + a_2 y^2 + a_3 z^2 + 2 (b_1 xy + b_2 xz + b_3 yz) + 2 (c_1 x + c_2 y + c_3 z) + d = 0

Parameters
[out]a1,a2,a3,b1,b2,b3,c1,c2,c3,dThe coefficients

◆ Radius()

AMCAX_API double AMCAX::Cylinder::Radius ( ) const

Get the radius.

Returns
The radius

◆ Scale()

AMCAX_API Cylinder & AMCAX::Cylinder::Scale ( const Point3 point,
double  scale 
)

Scale the cylinder by a point.

Parameters
pointThe scaling center point
scaleThe scale value
Returns
The reference to self

◆ SetRadius()

AMCAX_API void AMCAX::Cylinder::SetRadius ( double  r)

Set the radius.

Parameters
rThe radius

◆ Transform()

AMCAX_API Cylinder & AMCAX::Cylinder::Transform ( const Transformation3 tr)

Transform the cylinder.

Parameters
trThe transformation
Returns
The reference to self

The documentation for this class was generated from the following file: