151 static void prepareLine( std::vector<SbVec2f>& polyline, std::vector<bool>& isCCW );
154 static void removeContiguousDuplicated( std::vector<SbVec2f>& polyline );
161 static void insertIntersectingPoints( std::vector<SbVec2f>& polyline );
171 static void findSelfIntersection(
const std::vector<SbVec2f>& polyline, std::vector<bool>& intersect );
186 static bool isStartCCW(
const std::vector<SbVec2f>& polyline );
200 static void distanceFromCam(
const SbBox3f& bboxInSomeSpace,
202 float& zMin,
float& zMax );
208 static void spaceChangeVector(
const std::vector<SbVec3f>& lineInSpace1,
210 std::vector<SbVec3f>& lineInSpace2);
221 static SoShape* generateCylinder(
const std::vector<SbVec3f>& nearLine,
222 const std::vector<SbVec3f>& farLine,
223 const std::vector<bool>& isCCW);
237 const std::vector<SbVec3f>& baseLine,
238 const std::vector<bool>& isCCW);
244 static SoShape* generateShape(
const std::vector<SbVec3f>& triangles);
252 static void tesselate(
const std::vector<SbVec3f>& polygon,
253 std::vector<SbVec3f>& triangles );
259 static void makeTrianglesCCW( std::vector<SbVec3f>& triangles,
const SbVec3f& viewVector );
275 TriangleCBData( std::vector<SbVec3f>& triangles )
277 , m_stopOnDegenerated(true)
278 , m_containsDegenerated(false)
279 , m_triangles(triangles)
284 bool m_stopOnDegenerated;
286 bool m_containsDegenerated;
288 std::vector<SbVec3f>& m_triangles;
291 TriangleCBData& operator =(
const TriangleCBData&){
return *
this;}
static SoShape * createFrom2DPoints(const std::vector< SbVec2f > &pointsInCam, const SbMatrix &camToLocal, float zMin=-1.0f, float zMax=1.0f)
Create an extruded shape from points in camera space.
static SoShape * createFrom3DPoints(const std::vector< SbVec3f > &pointsInWorld, SoPath *nodePath, const SbViewVolume &volume, const SbBox3f &bboxInLocal=SbBox3f())
Create an extruded shape from points in world space.
static SoShape * createFrom2DPoints(const std::vector< SbVec2f > &pointsInCam, SoPath *nodePath, const SbViewVolume &volume, const SbBox3f &bboxInLocal=SbBox3f())
Create an extruded shape from points in camera space.
static SoShape * createFrom2DPoints(const std::vector< SbVec2f > &pointsInCam, const SbMatrix &localToCam, const SbBox3f &bboxInLocal=SbBox3f())
Create an extruded shape from points in camera space.