850 virtual const CResult Scale(
double f64PivotX,
double f64PivotY,
double f64PivotZ,
double f64ScaleX,
double f64ScaleY,
double f64ScaleZ)
override;
857 virtual const CResult GetBoundingBox(
double& f64MinX,
double& f64MinY,
double& f64MinZ,
double& f64MaxX,
double& f64MaxY,
double& f64MaxZ)
const override;
858 virtual const CResult GetBoundingBox(
float& f32MinX,
float& f32MinY,
float& f32MinZ,
float& f32MaxX,
float& f32MaxY,
float& f32MaxZ)
const override;
862 DeclareGetClassType();
Template type array class.
Definition FLArray.h:71
Simplified class representing a 3-D point.
Definition FLImagingBase/TPoint3.h:37
FLImaging module execution result object.
Definition FLImagingBase/ResultsDef.h:1712
Represents a circle in 3D space.
Definition FLImagingFoundation/FLCircle3.h:26
A class representing a cylinder with circular cross-sections.
Definition FLImagingFoundation/FLCylinder3.h:25
virtual bool IsCollision(const Foundation::CFLPoint3< float > *pFlp3Begin, const Foundation::CFLPoint3< float > *pFlp3End) const
Check if a 3D line object collides with this object.
virtual bool IsCollision(const Base::TPoint3< double > *pTp3Begin, const Base::TPoint3< double > *pTp3End) const
Check if a 3D line object collides with this object.
const CFLCylinder3< T > & operator+=(const CFLPoint3< float > &flpPoint)
Offset operator.
const CFLCylinder3< T > & operator/=(const double &value)
An operator that divides the x,y,z values of each vertex of a triangle by a parameter.
virtual const CResult Rotate(const CFLGeometry3DQuaternion< float > *pQuat, const CFLPoint3< float > *pFlp3Pivot=nullptr) override
Rotate the object using quaternions. If the pivot point is nullptr, the object's AABB (Axis-Aligned B...
const CFLCylinder3< T > & operator+=(const double &value)
Offset operator.
virtual bool Contains(const CFLPoint3< float > &flp3) const
Returns whether the vertex is inside this object.
const CFLCylinder3< T > & operator*=(const CFLPoint3< double > &flpPoint)
An operator that multiplies the x,y,z values of each vertex of a triangle by a parameter.
CFLCircle3< float > flcBase
Definition FLImagingFoundation/FLCylinder3.h:31
virtual const CResult Contains(const Base::CFLArray< Base::TPoint3< float > > *pFlaVertices, Base::CFLArray< int32_t > &flaResult, bool bClearResult=true) const
Returns an array of indices of vertices located inside this cylinder.
virtual const CResult Set(const CFLFigure &flf) override
virtual const CResult Contains(const Base::CFLArray< Base::TPoint3< float > > *pFlaVertices, const Base::CFLArray< int32_t > &flaTargetIndex, Base::CFLArray< int32_t > &flaResult, bool bClearResult=true) const
Returns an array of indices of vertices located inside this cylinder.
CFLCylinder3< T > operator+(const Base::TPoint3< double > &tpPoint) const
Offset operator.
CFLCylinder3(const CFLCylinder3< double > &rhs)
copy constructor
virtual const CResult Contains(const Base::CFLArray< Base::TPoint3< float > > &flaVertices, const Base::CFLArray< int32_t > &flaTargetIndex, Base::CFLArray< int32_t > &flaResult, bool bClearResult=true) const
Returns an array of indices of vertices located inside this cylinder.
CFLCylinder3< T > operator*(const Base::TPoint3< float > &tpPoint) const
An operator that multiplies the x,y and z values of each vertex by a parameter.
virtual bool Contains(const Base::TPoint3< float > &tp3) const
Returns whether the vertex is inside this object.
virtual bool IsCollision(const Foundation::CFLPoint3< double > &flp3Begin, const Foundation::CFLPoint3< double > &flp3End) const
Check if a 3D line object collides with this object.
CFLCylinder3< T > operator-(const CFLPoint3< double > &flpPoint) const
Offset operator.
virtual EFigureDeclType GetDeclType() const override
CFLCylinder3(const CFLCircle3< double > &flcBase, double f64Height)
Initializer.
const CFLCylinder3< T > & operator-=(const Base::TPoint3< double > &tpPoint)
Offset operator.
friend CFLCylinder3< T > operator-(const double &value, const CFLCylinder3< T > &flcy)
Offset operator.
Definition FLImagingFoundation/FLCylinder3.h:797
CFLCylinder3< T > operator*(const Base::TPoint3< double > &tpPoint) const
An operator that multiplies the x,y and z values of each vertex by a parameter.
virtual bool IsCollision(const Base::TPoint3< float > &tp3Begin, const Base::TPoint3< float > &tp3End) const
Check if a 3D line object collides with this object.
CFLCylinder3< T > operator+(const Base::TPoint3< float > &tpPoint) const
Offset operator.
const CFLCylinder3< T > & operator=(const CFLCylinder3< double > &rhs)
Assignment operator.
CFLCylinder3(const CFLCylinder3< float > *pRhs)
copy constructor
CFLCylinder3< T > operator*(const double &value) const
An operator that multiplies the x,y and z values of each vertex by a parameter.
virtual const CResult Set(const CFLCircle3< double > &flcBase, double f64Height)
Parameter setting function.
const CFLCylinder3< T > & operator=(const CFLCylinder3< float > &rhs)
Assignment operator.
CFLCylinder3< T > operator/(const Base::TPoint3< double > &tpPoint) const
An operator that divides the x,y and z values of each vertex by a parameter.
CFLCylinder3< T > operator-(const Base::TPoint3< double > &tpPoint) const
Offset operator.
CFLCylinder3(const CFLFigure *pFlf)
Initializer.
const CFLCylinder3< T > & operator*=(const CFLPoint3< float > &flpPoint)
An operator that multiplies the x,y,z values of each vertex of a triangle by a parameter.
const CFLCylinder3< T > & operator/=(const Base::TPoint3< float > &tpPoint)
An operator that divides the x,y,z values of each vertex of a triangle by a parameter.
CFLCylinder3< T > operator/(const double &value) const
An operator that divides the x,y and z values of each vertex by a parameter.
CFLCylinder3< T > operator-(const CFLPoint3< float > &flpPoint) const
Offset operator.
virtual const CResult GetCenterOfVertices(double &x, double &y, double &z) const override
const CFLCylinder3< T > & operator+=(const Base::TPoint3< double > &tpPoint)
Offset operator.
CFLCylinder3< T > operator+(const double &value) const
Offset operator.
virtual bool Contains(const Base::TPoint3< double > &tp3) const
Returns whether the vertex is inside this object.
const CFLCylinder3< T > & operator-=(const CFLPoint3< double > &flpPoint)
Offset operator.
CFLCylinder3(const CFLCylinder3< double > *pRhs)
copy constructor
const CFLCylinder3< T > & operator+=(const Base::TPoint3< float > &tpPoint)
Offset operator.
virtual const CFLPoint3< T > GetBottomCenter() const
Get the bottom center point (base center) of the cylinder.
CFLCylinder3(const CFLCircle3< double > *pFlcBase, double f64Height)
Initializer.
virtual const CResult Contains(const Base::CFLArray< Base::TPoint3< double > > &flaVertices, const Base::CFLArray< int32_t > &flaTargetIndex, Base::CFLArray< int32_t > &flaResult, bool bClearResult=true) const
Returns an array of indices of vertices located inside this cylinder.
const CFLCylinder3< T > & operator*=(const Base::TPoint3< float > &tpPoint)
An operator that multiplies the x,y,z values of each vertex of a triangle by a parameter.
virtual const CResult Set(const CFLCylinder3< float > *pFlcy)
Parameter setting function.
friend CFLCylinder3< T > operator/(const double &value, const CFLCylinder3< T > &flcy)
An operator that divides the x, y, z values of each vertex into parameters.
Definition FLImagingFoundation/FLCylinder3.h:838
CFLCylinder3< T > operator*(const CFLPoint3< double > &flpPoint) const
An operator that multiplies the x,y and z values of each vertex by a parameter.
virtual const CResult Set(const CFLCircle3< double > *pFlcBase, double f64Height)
Parameter setting function.
virtual const CResult Contains(const Base::CFLArray< Base::TPoint3< float > > &flaVertices, Base::CFLArray< int32_t > &flaResult, bool bClearResult=true) const
Returns an array of indices of vertices located inside this cylinder.
virtual const CFLPoint3< T > GetTopCenter() const
Get the top center point of the cylinder.
virtual const CResult Contains(const Base::CFLArray< Base::TPoint3< double > > &flaVertices, Base::CFLArray< int32_t > &flaResult, bool bClearResult=true) const
Returns an array of indices of vertices located inside this cylinder.
virtual bool IsCollision(const Base::TPoint3< double > &tp3Begin, const Base::TPoint3< double > &tp3End) const
Check if a 3D line object collides with this object.
CFLCylinder3< T > operator-(const Base::TPoint3< float > &tpPoint) const
Offset operator.
CFLCylinder3< T > operator/(const Base::TPoint3< float > &tpPoint) const
An operator that divides the x,y and z values of each vertex by a parameter.
virtual bool Contains(const Base::TPoint3< double > *pTp3) const
Returns whether the vertex is inside this object.
virtual const CResult Set(const CFLCircle3< float > &flcBase, double f64Height)
Parameter setting function.
const CFLCylinder3< T > & operator-=(const Base::TPoint3< float > &tpPoint)
Offset operator.
virtual const CResult Set(const CFLFigure *pFlf) override
virtual const CResult Swap(CFLFigure *pFlfRight) override
virtual bool Contains(const CFLPoint3< float > *pFlp3) const
Returns whether the vertex is inside this object.
virtual const CResult Offset(double x, double y, double z) override
virtual void Clear() override
Clears all internal variables and resets all 3D vertex coordinates to 0.
virtual bool IsCollision(const Foundation::CFLPoint3< double > *pFlp3Begin, const Foundation::CFLPoint3< double > *pFlp3End) const
Check if a 3D line object collides with this object.
float tHeight
Definition FLImagingFoundation/FLCylinder3.h:37
const CFLCylinder3< T > & operator*=(const double &value)
An operator that multiplies the x,y,z values of each vertex of a triangle by a parameter.
friend CFLCylinder3< T > operator+(const double &value, const CFLCylinder3< T > &flcy)
Offset operator.
Definition FLImagingFoundation/FLCylinder3.h:777
virtual const CResult Set(const CFLCylinder3< double > &flcy)
Parameter setting function.
CFLCylinder3< T > operator+(const CFLPoint3< float > &flpPoint) const
Offset operator.
const CFLCylinder3< T > & operator*=(const Base::TPoint3< double > &tpPoint)
An operator that multiplies the x,y,z values of each vertex of a triangle by a parameter.
virtual const CResult Multiply(double x, double y, double z) override
virtual const CResult Contains(const Base::CFLArray< Base::TPoint3< double > > *pFlaVertices, const Base::CFLArray< int32_t > &flaTargetIndex, Base::CFLArray< int32_t > &flaResult, bool bClearResult=true) const
Returns an array of indices of vertices located inside this cylinder.
const CFLCylinder3< T > & operator/=(const Base::TPoint3< double > &tpPoint)
An operator that divides the x,y,z values of each vertex of a triangle by a parameter.
virtual bool IsSpecEqual(const CFLFigure *pFlfRhs, EFigureSpecCompareType eSpecType=EFigureSpecCompareType_Coordinates) const override
virtual const CResult GetCenterOfGravity(double &x, double &y, double &z) const override
Get the center of gravity of the 3D object.
virtual bool IsCollision(const Base::TPoint3< float > *pTp3Begin, const Base::TPoint3< float > *pTp3End) const
Check if a 3D line object collides with this object.
CFLCylinder3< T > operator*(const CFLPoint3< float > &flpPoint) const
An operator that multiplies the x,y and z values of each vertex by a parameter.
CFLCylinder3< T > operator/(const CFLPoint3< float > &flpPoint) const
An operator that divides the x,y and z values of each vertex by a parameter.
CFLCylinder3(const CFLCylinder3< float > &rhs)
copy constructor
CFLCylinder3< T > operator/(const CFLPoint3< double > &flpPoint) const
An operator that divides the x,y and z values of each vertex by a parameter.
const CFLCylinder3< T > & operator+=(const CFLPoint3< double > &flpPoint)
Offset operator.
virtual const CResult Set(const CFLCylinder3< double > *pFlcy)
Parameter setting function.
virtual double GetArea() const override
virtual const CResult Transform(const CMatrix< float > *pMatTransform) override
Transforms the object using a transformation matrix (4x4 or 3x3).
friend CFLCylinder3< T > operator*(const double &value, const CFLCylinder3< T > &flcy)
An operator that multiplies the x, y, and z values of each vertex of a triangle by a parameter.
Definition FLImagingFoundation/FLCylinder3.h:818
virtual const CResult Set(const CFLCircle3< float > *pFlcBase, double f64Height)
Parameter setting function.
const CFLCylinder3< T > & operator/=(const CFLPoint3< double > &flpPoint)
An operator that divides the x,y,z values of each vertex of a triangle by a parameter.
virtual const CResult Rotate(const CFLGeometry3DQuaternion< double > *pQuat, const CFLPoint3< double > *pFlp3Pivot=nullptr) override
Rotate the object using quaternions. If the pivot point is nullptr, the object's AABB (Axis-Aligned B...
virtual bool IsCollision(const Foundation::CFLPoint3< float > &flp3Begin, const Foundation::CFLPoint3< float > &flp3End) const
Check if a 3D line object collides with this object.
CFLCylinder3(const CFLCircle3< float > &flcBase, double f64Height)
Initializer.
virtual bool Contains(const CFLPoint3< double > *pFlp3) const
Returns whether the vertex is inside this object.
virtual bool Contains(const Base::TPoint3< float > *pTp3) const
Returns whether the vertex is inside this object.
virtual const CResult Scale(double f64PivotX, double f64PivotY, double f64PivotZ, double f64ScaleX, double f64ScaleY, double f64ScaleZ) override
Scale the object with a specified pivot point.
virtual double GetHeight() const override
const CFLCylinder3< T > & operator/=(const CFLPoint3< float > &flpPoint)
An operator that divides the x,y,z values of each vertex of a triangle by a parameter.
CFLCylinder3(const CFLCircle3< float > *pFlcBase, double f64Height)
Initializer.
const CFLCylinder3< T > & operator-=(const double &value)
Offset operator.
virtual const CResult GetBoundingBox(float &f32MinX, float &f32MinY, float &f32MinZ, float &f32MaxX, float &f32MaxY, float &f32MaxZ) const override
Returns the bounding box (AABB).
const CFLCylinder3< T > & operator-=(const CFLPoint3< float > &flpPoint)
Offset operator.
virtual double GetVolume() const override
virtual const CResult Contains(const Base::CFLArray< Base::TPoint3< double > > *pFlaVertices, Base::CFLArray< int32_t > &flaResult, bool bClearResult=true) const
Returns an array of indices of vertices located inside this cylinder.
virtual const CResult Set(const CFLCylinder3< float > &flcy)
Parameter setting function.
CFLCylinder3< T > operator-() const
An operator that returns a point with the signs of x, y and z values inverted.
CFLCylinder3(const CFLFigure &flf)
Initializer.
virtual const CResult GetBoundingBox(double &f64MinX, double &f64MinY, double &f64MinZ, double &f64MaxX, double &f64MaxY, double &f64MaxZ) const override
Returns the bounding box (AABB).
CFLCylinder3< T > operator+(const CFLPoint3< double > &flpPoint) const
Offset operator.
virtual EFigureTemplateType GetTemplateType() const override
virtual const CResult Transform(const CMatrix< double > *pMatTransform) override
Transforms the object using a transformation matrix (4x4 or 3x3).
virtual bool Contains(const CFLPoint3< double > &flp3) const
Returns whether the vertex is inside this object.
CFLCylinder3< T > operator-(const double &value) const
Offset operator.
A class representing quaternion.
Definition FLImagingFoundation/FLGeometry3DQuaternion.h:30
A class representing a 3D point.
Definition FLImagingFoundation/FLPoint3.h:40
A class representing matrix.
Definition FLImagingFoundation/Matrix.h:79
Definition FLImagingFoundation/AlgorithmBase.h:16
EFigureDeclType
Declare type of figure.
Definition FLImagingFoundation/DefinitionsFigure.h:33
EFigureTemplateType
Template type of figure.
Definition FLImagingFoundation/DefinitionsFigure.h:434
EFigureSpecCompareType
Definition FLImagingFoundation/DefinitionsFigure.h:3590
@ EFigureSpecCompareType_Coordinates
Definition FLImagingFoundation/DefinitionsFigure.h:3595