10#include "FLGeometry3DPlane.h"
11#include "FLGeometry3DVector.h"
45 EVertex_LeftTopNear = 0,
1204 DeclareGetClassType();
Template type array class.
Definition RangeTree.h:19
Simplified class representing a quadrangle.
Definition THexahedron.h:38
Simplified class representing a 3-D point.
Definition TPoint3.h:37
FLImaging module execution result object.
Definition ResultsDef.h:1514
A class representing a frustum.
Definition FLFrustum.h:26
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 frustum.
virtual const CResult SetVertex(EVertex eVertexPos, const Base::TPoint3< double > &tp3) sealed
CFLFrustum(const CFLFrustum< float > &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 frustum.
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 frustum.
virtual const CResult Set(const Base::THexahedron< double > &tHexahedron)
Parameter setting function.
virtual const CResult Set(const CFLFigure *pFlf) override
virtual const CResult Set(const CFLQuad3< float > &flqQuad1, const CFLQuad3< float > &flqQuad2)
Parameter setting function.
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 frustum.
virtual bool Contains(const Foundation::CFLPoint3< double > &flp3) const
Returns whether the vertex is inside this object.
CFLFrustum(const CFLQuad3< double > *pFlqQuad1, const CFLQuad3< double > *pFlqQuad2)
Initializer.
CFLFrustum(const CFLFigure *pFlf)
Initializer.
virtual const CResult Set(const Base::THexahedron< float > *pTHexahedron)
Parameter setting function.
virtual void Clear() override
Clear an object's variable.
virtual const CResult SetVertex(EVertex eVertexPos, const Base::TPoint3< float > *pTp3) sealed
CFLFrustum(const Base::THexahedron< double > &tHexahedron)
Initializer.
const CFLFrustum< T > & operator=(const Base::THexahedron< float > &rhs)
Assignment operator.
virtual bool IsCollision(const Foundation::CFLPoint3< double > &flp3Begin, const Foundation::CFLPoint3< double > &flp3End) const
virtual bool IsCollision(const Base::TPoint3< double > *pTp3Begin, const Base::TPoint3< double > *pTp3End) const
virtual bool Contains(const Foundation::CFLPoint3< double > *pFlp3) const
Returns whether the vertex is inside this object.
virtual bool IsCollision(const Foundation::CFLPoint3< float > &flp3Begin, const Foundation::CFLPoint3< float > &flp3End) const
virtual const CResult Set(const CFLQuad3< double > &flqQuad1, const CFLQuad3< double > &flqQuad2)
Parameter setting function.
virtual bool Contains(const Foundation::CFLPoint3< float > &flp3) const
Returns whether the vertex is inside this object.
virtual const CResult Set(const Base::THexahedron< float > &tHexahedron)
Parameter setting function.
virtual bool Contains(const Base::TPoint3< double > &tp3) const
Returns whether the vertex is inside this object.
virtual EFigureTemplateType GetTemplateType() const override
EPlane
Definition FLFrustum.h:102
@ EPlane_Left
Definition FLFrustum.h:119
@ EPlane_Near
Definition FLFrustum.h:131
@ EPlane_Bottom
Definition FLFrustum.h:113
@ EPlane_Right
Definition FLFrustum.h:125
@ EPlane_Far
Definition FLFrustum.h:137
virtual bool IsCollision(const Foundation::CFLPoint3< double > *pFlp3Begin, const Foundation::CFLPoint3< double > *pFlp3End) const
virtual const CResult SetVertex(EVertex eVertexPos, const Foundation::CFLPoint3< float > *pFlp3) sealed
virtual const CResult SetVertex(EVertex eVertexPos, const Foundation::CFLPoint3< float > &flp3) sealed
virtual const CFLGeometry3DVector< T > GetEquationOfPlane(EPlane ePlane) const sealed
virtual const CResult Set(const CFLFrustum< float > &flfr)
Parameter setting function.
virtual const CResult SetVertex(EVertex eVertexPos, const Base::TPoint3< double > *pTp3) sealed
const CFLFrustum< T > & operator=(const CFLFrustum< float > &rhs)
Assignment operator.
const CFLFrustum< T > & operator=(const Base::THexahedron< double > &rhs)
Assignment operator.
CFLFrustum(const CFLFrustum< float > *pRhs)
copy constructor
virtual bool Contains(const Base::TPoint3< double > *pTp3) const
Returns whether the vertex is inside this object.
virtual const CResult Set(const Base::THexahedron< double > *pTHexahedron)
Parameter setting function.
EVertex
Definition FLFrustum.h:40
@ EVertex_LeftTopFar
Definition FLFrustum.h:69
@ EVertex_RightBottomFar
Definition FLFrustum.h:81
@ EVertex_Count
Definition FLFrustum.h:93
@ EVertex_RightTopFar
Definition FLFrustum.h:75
@ EVertex_RightBottomNear
Definition FLFrustum.h:57
@ EVertex_LeftBottomNear
Definition FLFrustum.h:63
@ EVertex_RightTopNear
Definition FLFrustum.h:51
@ EVertex_LeftBottomFar
Definition FLFrustum.h:87
virtual bool Contains(const Base::TPoint3< float > *pTp3) const
Returns whether the vertex is inside this object.
CFLFrustum(const CFLFigure &flf)
Initializer.
virtual const CResult SetVertex(EVertex eVertexPos, const Base::TPoint3< float > &tp3) sealed
virtual bool IsCollision(const Base::TPoint3< float > &tp3Begin, const Base::TPoint3< float > &tp3End) const
virtual bool IsCollision(const Foundation::CFLPoint3< float > *pFlp3Begin, const Foundation::CFLPoint3< float > *pFlp3End) const
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 frustum.
virtual bool Contains(const Base::TPoint3< float > &tp3) const
Returns whether the vertex is inside this object.
CFLFrustum(const CFLQuad3< double > &flqQuad1, const CFLQuad3< double > &flqQuad2)
Initializer.
CFLFrustum(const Base::THexahedron< double > *pTHexahedron)
Initializer.
virtual const CResult Set(const CFLFrustum< double > &flfr)
Parameter setting function.
CFLFrustum(const CFLQuad3< float > &flqQuad1, const CFLQuad3< float > &flqQuad2)
Initializer.
virtual const CResult Set(const CFLFrustum< double > *pFlfr)
Parameter setting function.
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 frustum.
CFLFrustum(const Base::THexahedron< float > *pTHexahedron)
Initializer.
const CFLFrustum< T > & operator=(const CFLFrustum< double > &rhs)
Assignment operator.
virtual const CResult Set(const CFLQuad3< double > *pFlqQuad1, const CFLQuad3< double > *pFlqQuad2)
Parameter setting function.
virtual const CResult SetVertex(EVertex eVertexPos, const Foundation::CFLPoint3< double > *pFlp3) sealed
virtual bool Contains(const Foundation::CFLPoint3< float > *pFlp3) const
Returns whether the vertex is inside this object.
virtual const CResult Set(const CFLQuad3< float > *pFlqQuad1, const CFLQuad3< float > *pFlqQuad2)
Parameter setting function.
virtual const CResult Set(const CFLFrustum< float > *pFlfr)
Parameter setting function.
CFLFrustum(const Base::THexahedron< float > &tHexahedron)
Initializer.
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 frustum.
CFLFrustum(const CFLFrustum< double > *pRhs)
copy constructor
CFLFrustum(const CFLFrustum< double > &rhs)
copy constructor
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 frustum.
virtual EFigureDeclType GetDeclType() const override
virtual const Foundation::CFLPoint3< T > * GetVertex(EVertex eVertexPos) const sealed
virtual bool IsCollision(const Base::TPoint3< float > *pTp3Begin, const Base::TPoint3< float > *pTp3End) const
virtual const CResult SetVertex(EVertex eVertexPos, const Foundation::CFLPoint3< double > &flp3) sealed
CFLFrustum(const CFLQuad3< float > *pFlqQuad1, const CFLQuad3< float > *pFlqQuad2)
Initializer.
virtual const CResult Set(const CFLFigure &flf) override
virtual bool IsCollision(const Base::TPoint3< double > &tp3Begin, const Base::TPoint3< double > &tp3End) const
A class representing vector in 3D space which has direction and magnitude.
Definition FLGeometry3DVector.h:33
A class representing a 3D point.
Definition FLPoint3.h:36
A class representing a 3D quadrangle.
Definition FLQuad3.h:24
EFigureDeclType
Declare type of figure.
Definition DefinitionsFigure.h:33
EFigureTemplateType
Template type of figure.
Definition DefinitionsFigure.h:302