15 #ifndef __IPSDKGEOMETRY_SHAPE3D_H__ 16 #define __IPSDKGEOMETRY_SHAPE3D_H__ 20 #pragma warning (push) 21 #pragma warning (disable : 4251) 23 #include <IPSDKGeometry/Entity/3d/BaseTypedGeometryEntity3d.h> 89 inline bool hasRowIntersections()
const;
98 inline bool hasRowIntersections(
const ipUInt64 planIdx)
const;
101 inline bool hasRowIntersection(
const ipUInt64 rowIdx,
128 void clearRowIntersections();
137 inline bool isMeshWithHolesCollSet()
const;
158 ipUInt64 getNbExteriorVertices()
const;
161 ipUInt64 getNbExteriorEdges()
const;
164 ipUInt64 getNbExteriorTriangles()
const;
173 void clearMeshWithHolesColl();
203 IPSDK_FORCEINLINE
bool 221 IPSDK_FORCEINLINE
bool 227 IPSDK_FORCEINLINE
bool 234 return rowIdx >= rowIntersections.
_yOffset &&
250 IPSDK_FORCEINLINE
bool 286 #pragma warning (pop) 288 #endif // __IPSDKGEOMETRY_SHAPE3D_H__ const RowIntersections3d & getRowIntersections() const
get row intersections collection
Definition: Shape3d.h:210
Basic operators used for shape 3d management.
MeshWithHolesIterator beginMeshWithHoles()
iterator used to parse mesh
Definition: Shape3d.h:269
std::vector< Shape3dMeshWithHolesConstPtr > Shape3dMeshWithHolesConstColl
collection of const mesh with holes
Definition: Shape3dTypes.h:73
Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
boost::shared_ptr< const Shape3dMeshWithHoles > Shape3dMeshWithHolesConstPtr
shared pointer to const mesh with holes associated to shape
Definition: Shape3dTypes.h:70
eCoordinateSystem3dType
Enumerate describing coordinate system 3d type.
Definition: GeometryEntity3dTypes.h:74
bool hasRowIntersections() const
check whether row intersections have been set
Definition: Shape3d.h:204
Shape3dMeshWithHoles MeshWithHolesType
msh with holes type associated to object
Definition: Shape3d.h:48
boost::shared_ptr< Shape3dMeshWithHoles > Shape3dMeshWithHolesPtr
shared pointer to mesh with holes associated to shape
Definition: Shape3dTypes.h:67
ipUInt64 getStartZ() const
retrieve starting and ending z index for shape
Definition: Shape3d.h:239
uint64_t ipUInt64
Base types definition.
Definition: BaseTypes.h:55
#define IPSDK_DECLARE_GEOMETRY_ENTITY_3D(libraryName, className)
Macro allowing to declare a geometry entity 3d.
Definition: GeometryEntity3dHdrMacros.h:131
RowSegmentsColl _rowSegColl
row intersections collections
Definition: GeometryEntityTypes.h:77
Shape3dMeshWithHolesConstColl MeshWithHolesConstColl
collection of const mesh with holes
Definition: Shape3d.h:57
Definition: GeometryEntityTypes.h:71
eCoordinateSystem3dType getCoordinateSystem3dType() const
method allowing to retrieve coordinate system 2d type
Definition: Shape3d.h:192
ipUInt64 _zOffset
z coordinate of first row intersections
Definition: GeometryEntity3dTypes.h:93
Shape.
Definition: GeometryEntity3dTypes.h:60
Shape3dMeshWithHolesConstPtr MeshWithHolesConstPtr
shared pointer to mesh with holes
Definition: Shape3d.h:54
static const eEntity3dType::domain g_entity3dType
type associated to entity
Definition: Shape3d.h:45
#define IPSDKGEOMETRY_API
Import/Export macro for library IPSDKGeometry.
Definition: IPSDKGeometryExports.h:25
Predefined types for shape 3d management.
Shape3dMeshWithHolesColl::iterator MeshWithHolesIterator
iterator to collection of mes with holes
Definition: Shape3d.h:66
Definition: GeometryEntity3dTypes.h:90
std::vector< RowSegment > RowSegments
collection of row segments
Definition: GeometryEntityTypes.h:63
Shape3dMeshWithHolesColl MeshWithHolesColl
collection of mesh with holes
Definition: Shape3d.h:60
eEntity3dType
Enumerate describing entity 3d type.
Definition: GeometryEntity3dTypes.h:38
MeshWithHolesColl _meshWithHolesColl
collection of mesh holes associated to shape 2d
Definition: Shape3d.h:185
RowIntersections3d _rowIntersections
structure describing shape/row intersections
Definition: Shape3d.h:182
std::vector< Shape3dMeshWithHolesPtr > Shape3dMeshWithHolesColl
collection of mesh with holes
Definition: Shape3dTypes.h:76
Shape3dMeshWithHolesPtr MeshWithHolesPtr
shared pointer to mesh with holes
Definition: Shape3d.h:51
bool hasRowIntersection(const ipUInt64 rowIdx, const ipUInt64 planIdx) const
check whether shape has an intersection with a given row
Definition: Shape3d.h:228
eEntity3dType getEntity3dType() const
method allowing to retrieve entity 3d type
Definition: Shape3d.h:198
RowIntersectionsColl _rowIntersectionsColl
row intersections collections
Definition: GeometryEntity3dTypes.h:96
Base class for typed 3d geometry entities.
Definition: BaseTypedGeometryEntity3d.h:27
Closed mesh potentially associated to interior mesh holes.
Definition: MeshWithHoles3d.h:39
Cartesian coordinate system.
Definition: GeometryEntity3dTypes.h:76
static const eCoordinateSystem3dType::domain g_coordinateSystem3dType
coordinate system associated to entity
Definition: Shape3d.h:42
ipUInt64 _yOffset
y coordinate of first row intersections
Definition: GeometryEntityTypes.h:74
MeshWithHolesIterator endMeshWithHoles()
iterator used to parse mesh
Definition: Shape3d.h:275
const MeshWithHolesConstColl & getMeshWithHolesColl() const
get mesh with holes collection
Definition: Shape3d.h:257
Shape 3d associated to one or more closed mesh 3d.
Definition: Shape3d.h:34
ipUInt64 getEndZ() const
check whether row intersections have been set
Definition: Shape3d.h:245
boost::shared_ptr< MeshWithHolesColl > MeshWithHolesCollPtr
shared pointer to collection of mesh with holes
Definition: Shape3d.h:63
bool isMeshWithHolesCollSet() const
check whether surface mesh has been initialized
Definition: Shape3d.h:251