GraphTriangulation.h
Go to the documentation of this file.
1// *****************************************************************
2// Filename: AspectGraphProcessor.h
3// Copyright: Kai Welke, Chair Prof. Dillmann (IAIM),
4// Institute for Computer Science and Engineering (CSE),
5// University of Karlsruhe. All rights reserved.
6// Author: Kai Welke
7// Date: 12.06.2007
8// *****************************************************************
9
10#pragma once
11
12// *****************************************************************
13// forward declarations
14// *****************************************************************
15
16// *****************************************************************
17// includes
18// *****************************************************************
19#include <float.h>
20
21#include "Base/DataStructures/Graph/Convexhull/C3DNode.h"
22#include "Base/DataStructures/Graph/Convexhull/CHGiftWrap.h"
23#include "Base/DataStructures/Graph/Convexhull/HalfSpace.h"
24#include "SphericalGraph.h"
25
26// *****************************************************************
27// namespaces
28// *****************************************************************
29
30// *****************************************************************
31// namespace GraphTriangulation
32// *****************************************************************
34{
35public:
37 // triangulate with O(n^2) spherical
39 // triangulate with O(n^4)
40 static void triangulationQuartic(CSphericalGraph* pGraph, float fThreshold = FLT_MAX);
41 // triangulate with O(n^2)
42 static void triangulationQuadratic(CSphericalGraph* pGraph);
43
44private:
45 static void
46 updateLeftFace(CSphericalGraph* pGraph, int nEdgeIndex, int nIndex1, int nIndex2, int nFace);
47 static void completeFacet(CSphericalGraph* pGraph, int nEdgeIndex, int nFaces);
48
49 static CSphericalGraph* doubleNodes(CSphericalGraph* pSourceGraph);
50};
static void delaunayTriangulationQuadratic(CSphericalGraph *pGraph)
static void triangulationQuadraticSpherical(CSphericalGraph *pGraph)
static void triangulationQuartic(CSphericalGraph *pGraph, float fThreshold=FLT_MAX)
static void triangulationQuadratic(CSphericalGraph *pGraph)