28 #ifndef __IPSDKGEOMETRY_PLAN3D_H__ 29 #define __IPSDKGEOMETRY_PLAN3D_H__ 32 #include <IPSDKGeometry/Entity/3d/BaseTypedGeometryEntity3d.h> 94 inline void setRho(
const ipReal64 rho);
95 inline void setTheta(
const ipReal64 theta);
96 inline void setPhi(
const ipReal64 phi);
110 template <
typename T>
112 template <
typename T>
120 template <
typename T>
122 template <
typename T>
128 inline ipReal64 getCosTheta()
const;
129 inline ipReal64 getSinTheta()
const;
165 template <
typename T>
172 template <
typename T>
174 Plan3d::Plan3d(
const Point3d<T>& pt0,
const Point3d<T>& pt1,
const Point3d<T>& pt2)
179 template <
typename T>
181 Plan3d::Plan3d(
const Point3dData<T>& pt,
const Vector3d& normal)
186 template <
typename T>
188 Plan3d::Plan3d(
const Point3d<T>& pt,
const Vector3d& normal)
205 template <
typename T>
252 template <
typename T>
259 template <
typename T>
266 template <
typename T>
303 #endif // __IPSDKGEOMETRY_PLAN3D_H__ ipReal64 getPhi() const
access to plan coordinates
Definition: Plan3d.h:247
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
eCoordinateSystem3dType
Enumerate describing coordinate system 3d type.
Definition: GeometryEntity3dTypes.h:74
static const eEntity3dType::domain g_entity3dType
type associated to entity
Definition: Plan3d.h:57
ipReal64 _sinTheta
computation intermediate
Definition: Plan3d.h:156
ipReal64 getSinPhi() const
access to computation intermediate
Definition: Plan3d.h:292
Point class associated to cartesian 3d coordinates.
Definition: GeometryEntity3dTypes.h:29
eCoordinateSystem3dType getCoordinateSystem3dType() const
method allowing to retrieve coordinate system 3d type
Definition: Plan3d.h:194
eEntity3dType getEntity3dType() const
method allowing to retrieve entity 3d type
Definition: Plan3d.h:200
#define IPSDK_DECLARE_GEOMETRY_ENTITY_3D(libraryName, className)
Macro allowing to declare a geometry entity 3d.
Definition: GeometryEntity3dHdrMacros.h:131
void setCoords(const ipReal64 rho, const ipReal64 theta, const ipReal64 phi)
access to plan coordinates
void setTheta(const ipReal64 theta)
access to plan coordinates
Definition: Plan3d.h:219
ipReal64 _cosPhi
computation intermediate
Definition: Plan3d.h:157
double ipReal64
Base types definition.
Definition: BaseTypes.h:57
void setPhi(const ipReal64 phi)
access to plan coordinates
Definition: Plan3d.h:227
const Point3dData< T > & getCoords() const
access to point coordinates
Definition: Point3d.h:142
Vector class associated to spherical 3d coordinates.
Definition: Vector3d.h:32
IPSDKGEOMETRY_API ipReal64 distance(const Point2d< T > &pt1, const Point2d< T > &pt2)
compute euclidian distance between two points
ipReal64 distance(const Point3d< T > &pt) const
retrieve orthogonal distance between point and plan
Definition: Plan3d.h:254
Definition of import/export macro for library.
ipReal64 _phi
phi coordinate of point
Definition: Plan3d.h:151
#define IPSDKGEOMETRY_API
Import/Export macro for library IPSDKGeometry.
Definition: IPSDKGeometryExports.h:25
ipReal64 _rho
rho coordinate of point
Definition: Plan3d.h:145
Spherical coordinate system.
Definition: GeometryEntity3dTypes.h:78
static const eCoordinateSystem3dType::domain g_coordinateSystem3dType
coordinate system associated to entity
Definition: Plan3d.h:54
3d plan associated to spherical coordinates
Definition: Plan3d.h:46
void setRho(const ipReal64 rho)
access to plan coordinates
Definition: Plan3d.h:213
ipReal64 getCosTheta() const
access to computation intermediate
Definition: Plan3d.h:274
Plan.
Definition: GeometryEntity3dTypes.h:62
ipReal64 _theta
theta coordinate of point
Definition: Plan3d.h:148
ipReal64 _cosTheta
computation intermediate
Definition: Plan3d.h:155
eEntity3dType
Enumerate describing entity 3d type.
Definition: GeometryEntity3dTypes.h:38
ipReal64 getCosPhi() const
access to computation intermediate
Definition: Plan3d.h:286
Utility functions used to handle angles 3d.
Operators associated to plan 3d entities.
Base class for typed 3d geometry entities.
Definition: BaseTypedGeometryEntity3d.h:27
boost::numeric::ublas::bounded_vector< ipReal64, 3 > Vector3d
3d vector type associated to library
Definition: LinearAlgebraTypes.h:42
ipReal64 getTheta() const
access to plan coordinates
Definition: Plan3d.h:241
ipReal64 signedDistance(const Point3d< T > &pt) const
retrieve signed orthogonal distance between point and plan (positive value stands for points located ...
Definition: Plan3d.h:268
ipReal64 getSinTheta() const
access to computation intermediate
Definition: Plan3d.h:280
Lightweight structure used to store Point3d data.
Definition: GeometryEntity3dTypes.h:27
IPSDK_FORCEINLINE PackT abs(const PackT &in)
returns the absolute value of a pack
Definition: abs.h:41
ipReal64 getRho() const
access to plan coordinates
Definition: Plan3d.h:235
IPSDK_FORCEINLINE ipReal64 centerModulo(const ipReal64 angle, const ipReal64 modulo)
function allowing to compute centered modulo of an angle
Definition: Angles.h:57
ipReal64 _sinPhi
computation intermediate
Definition: Plan3d.h:158