My Project: dynamics.mod/NewtonDynamics/source/core/dgDelaunayTetrahedralization.h Source File

My Project

dgDelaunayTetrahedralization.h
Go to the documentation of this file.
1 /* Copyright (c) <2003-2011> <Julio Jerez, Newton Game Dynamics>
2 *
3 * This software is provided 'as-is', without any express or implied
4 * warranty. In no event will the authors be held liable for any damages
5 * arising from the use of this software.
6 *
7 * Permission is granted to anyone to use this software for any purpose,
8 * including commercial applications, and to alter it and redistribute it
9 * freely, subject to the following restrictions:
10 *
11 * 1. The origin of this software must not be misrepresented; you must not
12 * claim that you wrote the original software. If you use this software
13 * in a product, an acknowledgment in the product documentation would be
14 * appreciated but is not required.
15 *
16 * 2. Altered source versions must be plainly marked as such, and must not be
17 * misrepresented as being the original software.
18 *
19 * 3. This notice may not be removed or altered from any source distribution.
20 */
21
22 #ifndef __DG_DEALUNAY_TETRAHEDRALIZAION_4D__
23 #define __DG_DEALUNAY_TETRAHEDRALIZAION_4D__
24
25 #include "dgStdafx.h"
26 #include "dgConvexHull4d.h"
27
28 class dgDelaunayTetrahedralization: public dgConvexHull4d
29 {
30 public:
31 dgDelaunayTetrahedralization(dgMemoryAllocator* const allocator, const dgFloat64* const vertexCloud, dgInt32 count, dgInt32 strideInByte, dgFloat64 distTol);
32 virtual ~dgDelaunayTetrahedralization();
33 void RemoveUpperHull ();
34
35 dgInt32 AddVertex (const dgBigVector& vertex);
36
37 protected:
38 virtual void DeleteFace (dgListNode* const node) ;
39 dgFloat64 GetTetraVolume (const dgConvexHull4dTetraherum* const tetra) const;
40
41 void SortVertexArray ();
42 static dgInt32 CompareVertexByIndex(const dgHullVector* const A, const dgHullVector* const B, void* const context);
43
44 };
45
46 #endif
dgConvexHull4d.h
dgList< dgConvexHull4dTetraherum >::dgListNode
friend class dgListNode
Definition: dgList.h:249
dgInt32
int dgInt32
Definition: dgTypes.h:218
dgDelaunayTetrahedralization::~dgDelaunayTetrahedralization
virtual ~dgDelaunayTetrahedralization()
Definition: dgDelaunayTetrahedralization.cpp:99
dgConvexHull4dTetraherum
Definition: dgConvexHull4d.h:54
dgDelaunayTetrahedralization::SortVertexArray
void SortVertexArray()
Definition: dgDelaunayTetrahedralization.cpp:129
dgDelaunayTetrahedralization::dgDelaunayTetrahedralization
dgDelaunayTetrahedralization(dgMemoryAllocator *const allocator, const dgFloat64 *const vertexCloud, dgInt32 count, dgInt32 strideInByte, dgFloat64 distTol)
Definition: dgDelaunayTetrahedralization.cpp:30
dgDelaunayTetrahedralization::GetTetraVolume
dgFloat64 GetTetraVolume(const dgConvexHull4dTetraherum *const tetra) const
Definition: dgDelaunayTetrahedralization.cpp:185
dgFloat64
double dgFloat64
Definition: dgTypes.h:224
dgStdafx.h
dgDelaunayTetrahedralization::DeleteFace
virtual void DeleteFace(dgListNode *const node)
Definition: dgDelaunayTetrahedralization.cpp:166
dgConvexHull4d
Definition: dgConvexHull4d.h:98
dgDelaunayTetrahedralization::CompareVertexByIndex
static dgInt32 CompareVertexByIndex(const dgHullVector *const A, const dgHullVector *const B, void *const context)
Definition: dgDelaunayTetrahedralization.cpp:118
dgDelaunayTetrahedralization
Definition: dgDelaunayTetrahedralization.h:28
dgMemoryAllocator
Definition: dgMemory.h:73
dgDelaunayTetrahedralization::AddVertex
dgInt32 AddVertex(const dgBigVector &vertex)
Definition: dgDelaunayTetrahedralization.cpp:105
dgHullVector
Definition: dgConvexHull4d.h:36
dgDelaunayTetrahedralization::RemoveUpperHull
void RemoveUpperHull()
Definition: dgDelaunayTetrahedralization.cpp:148
dgBigVector
Definition: dgVector.h:207