AMCAX Kernel 1.0.0.0
AMCAX::Cone Class Reference

Class of cone. More...

#include <math/Cone.hpp>

Inheritance diagram for AMCAX::Cone:
Collaboration diagram for AMCAX::Cone:

Public Member Functions

 Cone ()=default
 Default constructor.
 
AMCAX_API Cone (const Frame3 &frame, double r, double angle)
 Construct from a local frame, a reference radius and a semi-angle. More...
 
AMCAX_API void SetRadius (double r)
 Set the reference radius. More...
 
AMCAX_API void SetSemiAngle (double angle)
 Set the semi-angle. More...
 
AMCAX_API Point3 Apex () const
 Get the apex of the cone. 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 cone. More...
 
AMCAX_API double Radius () const
 Get the reference radius. More...
 
AMCAX_API double SemiAngle () const
 Get the semi-angle. More...
 
AMCAX_API ConeScale (const Point3 &point, double scale)
 Scale the cone by a point. More...
 
AMCAX_API ConeTransform (const Transformation3 &tr)
 Transform the cone. More...
 
- Public Member Functions inherited from AMCAX::SurfaceBase< Cone >
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...
 
ConeMirror (const Point3 &p)
 Mirror the surface by a point. More...
 
ConeMirror (const Axis3 &axis)
 Mirror the surface by an axis. More...
 
ConeMirror (const Frame3 &frame)
 Mirror the surface by a frame. More...
 
Cone Mirrored (const Point3 &p) const
 Get the surface mirrored by a point. More...
 
Cone Mirrored (const Axis3 &axis) const
 Get the surface mirrored by an axis. More...
 
Cone Mirrored (const Frame3 &frame) const
 Get the surface mirrored by a frame. More...
 
ConeRotate (const Axis3 &axis, double angle)
 Rotate the surface around an axis with an angle in 3D. More...
 
Cone Rotated (const Axis3 &axis, double angle) const
 Get the surface rotated around an axis with an angle in 3D. More...
 
ConeScale (const Point3 &point, double scale)
 Scale the surface by a center point. More...
 
Cone Scaled (const Point3 &point, double scale) const
 Get the surface scaled by a center point. More...
 
ConeTransform (const Transformation3 &tr)
 Transform the surface. More...
 
Cone Transformed (const Transformation3 &tr) const
 Get the transformed surface. More...
 
ConeTranslate (const Vector3 &vec)
 Translate the surface by a vector. More...
 
ConeTranslate (const Point3 &p1, const Point3 &p2)
 Translate the surface by a vector from a source point to a target point. More...
 
Cone Translated (const Vector3 &vec) const
 Get the surface translated by a vector. More...
 
Cone 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< Cone >
 SurfaceBase ()=default
 Default constructor.
 
 SurfaceBase (const Frame3 &frame)
 Construct from a frame. More...
 
Cone_derived ()
 Cast to derived class. More...
 
const Cone_derived () const
 Cast to derived class. More...
 
- Protected Attributes inherited from AMCAX::SurfaceBase< Cone >
Frame3 pos
 The local coordinate system.
 

Detailed Description

Class of cone.

Constructor & Destructor Documentation

◆ Cone()

AMCAX_API AMCAX::Cone::Cone ( const Frame3 frame,
double  r,
double  angle 
)

Construct from a local frame, a reference radius and a semi-angle.

Parameters
frameThe local frame
rThe reference radius
angleThe semi-angle

Member Function Documentation

◆ Apex()

AMCAX_API Point3 AMCAX::Cone::Apex ( ) const

Get the apex of the cone.

Returns
The apex point

◆ Coefficients()

AMCAX_API void AMCAX::Cone::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 cone.

The algebraic representation of the cone 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::Cone::Radius ( ) const

Get the reference radius.

Returns
The reference radius

◆ Scale()

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

Scale the cone by a point.

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

◆ SemiAngle()

AMCAX_API double AMCAX::Cone::SemiAngle ( ) const

Get the semi-angle.

Returns
The semi-angle

◆ SetRadius()

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

Set the reference radius.

Parameters
rThe reference radius

◆ SetSemiAngle()

AMCAX_API void AMCAX::Cone::SetSemiAngle ( double  angle)

Set the semi-angle.

Parameters
angleThe semi-angle

◆ Transform()

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

Transform the cone.

Parameters
trThe transformation
Returns
The reference to self

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