16 #ifndef __IPSDKGEOMETRY_MESH3DITERATORS_H__ 17 #define __IPSDKGEOMETRY_MESH3DITERATORS_H__ 20 #include <IPSDKGeometry/Entity/3d/Mesh/Iterators/Mesh3dTriangleConstIterator.h> 21 #include <IPSDKGeometry/Entity/3d/Mesh/Iterators/Mesh3dVertexVertexConstCirculator.h> 22 #include <IPSDKGeometry/Entity/3d/Mesh/Iterators/Mesh3dVertexEdgeConstCirculator.h> 23 #include <IPSDKGeometry/Entity/3d/Mesh/Iterators/Mesh3dVertexTriangleConstCirculator.h> 24 #include <IPSDKGeometry/Entity/3d/Mesh/Iterators/Mesh3dTriangleTriangleConstCirculator.h> 35 IPSDK_FORCEINLINE Mesh3dTriangleConstIterator<Mesh3d<T> >
43 IPSDK_FORCEINLINE Mesh3dTriangleConstIterator<Mesh3d<T> >
53 IPSDK_FORCEINLINE Mesh3dVertexVertexConstCirculator<Mesh3d<T> >
54 beginVertexVertex(
const Mesh3d<T>& mesh,
const ipUInt32 startVertexIdx)
56 return Mesh3dVertexVertexConstCirculator<Mesh3d<T> >(&mesh, startVertexIdx);
60 IPSDK_FORCEINLINE Mesh3dVertexVertexConstCirculator<Mesh3d<T> >
63 return Mesh3dVertexVertexConstCirculator<Mesh3d<T> >();
70 IPSDK_FORCEINLINE Mesh3dVertexEdgeConstCirculator<Mesh3d<T> >
71 beginVertexEdge(
const Mesh3d<T>& mesh,
const ipUInt32 startVertexIdx)
73 return Mesh3dVertexEdgeConstCirculator<Mesh3d<T> >(&mesh, startVertexIdx);
77 IPSDK_FORCEINLINE Mesh3dVertexEdgeConstCirculator<Mesh3d<T> >
80 return Mesh3dVertexEdgeConstCirculator<Mesh3d<T> >();
87 IPSDK_FORCEINLINE Mesh3dVertexTriangleConstCirculator<Mesh3d<T> >
88 beginVertexTriangle(
const Mesh3d<T>& mesh,
ipUInt32 startVertexIdx)
90 return Mesh3dVertexTriangleConstCirculator<Mesh3d<T> >(&mesh, startVertexIdx);
94 IPSDK_FORCEINLINE Mesh3dVertexTriangleConstCirculator<Mesh3d<T> >
97 return Mesh3dVertexTriangleConstCirculator<Mesh3d<T> >();
103 template <
typename T>
104 IPSDK_FORCEINLINE Mesh3dTriangleTriangleConstCirculator<Mesh3d<T> >
105 beginTriangleTriangle(
const Mesh3d<T>& mesh,
ipUInt32 startTriangleIdx)
107 return Mesh3dTriangleTriangleConstCirculator<Mesh3d<T> >(&mesh, startTriangleIdx);
110 template <
typename T>
111 IPSDK_FORCEINLINE Mesh3dTriangleTriangleConstCirculator<Mesh3d<T> >
112 endTriangleTriangle()
114 return Mesh3dTriangleTriangleConstCirculator<Mesh3d<T> >();
123 #endif // __IPSDKGEOMETRY_MESH3DITERATORS_H__ Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
Definition of import/export macro for library.
IPSDK_FORCEINLINE Mesh3dTriangleConstIterator< Mesh3d< T > > beginTriangle(const Mesh3d< T > &mesh)
begining for triangle iterators
Definition: Mesh3dIterators.h:36
Iterator class allowing to parse triangles associated to a mesh 3d.
Definition: Mesh3dTriangleConstIterator.h:35
Closed mesh associated to a triangulated boundary.
Definition: Mesh3d.h:43
IPSDK_FORCEINLINE Mesh3dTriangleConstIterator< Mesh3d< T > > endTriangle(const Mesh3d< T > &mesh)
end for triangle iterators
Definition: Mesh3dIterators.h:44
uint32_t ipUInt32
Base types definition.
Definition: BaseTypes.h:53