DYNAMIC LINK LIBRARY FOR TRIANGULATION

This is a DEMO version.

Demo limitation: A MessageBox appears...

To buy the FULL version, please, visit our WEB site.

 

WHAT DOES THE DLL DO

The DLL contains an API function Triangulate that creates Delaunay triangulation from entered points.

Effectivity: 1000 points are triangulated in 0.059 seconds on Pentium(R) 500MHz with 128 MB RAM.

This function can be used for creating mesh from points for your 3D models for example.

 

DLL FILE

VISUAL BASIC EXEMPLE FILES

 

EXECUTABLE EXAMPLE FILE

See Example for how to use DLL function.

 

API DECLARATION OF TRIANGULATE FUNCTION

VB declaration

Public Declare Function Triangulate Lib "chtriang.dll" ( _

ByVal MaxVert As Long, _

ByVal MaxTriangles As Long, _

ByVal MaxVertices As Long, _

ByRef Vertex As tVertex, _

ByRef Triangle As tTriangle, _

ByRef Flag As Long) As Long

Comments are in VB example project

 

C declaration

long _stdcall Triangulate(

long MaxVert,

long MaxTriangles,

long MaxVertices,

struct tVertex *Vertex,

struct tTriangle *Triangle,

long Flag);

 

MaxVert .... Number of entered points

MaxTriangles...Maximum of the Triangles array (how much items does the array have)

MaxVertices...Maximum of the Vertices array (how much items does the array have)

Vertex...pointer to the Vertex array

Triangle...pointer to the (output) Triangle array

Flag...If Flag = 1, Triangulate function sorts Vertices input according to the x-coordinate. It very speeds up the function. By-effect is, that vertices are returned in different order than before function call.

 

STRUCTURES DECLARATION

VB declaration

'Points

Private Type tVertex

x As Long

y As Long

z As Long 'z-coordinate will not be used

End Type

 

'Triangles, v# are the vertex pointers

Private Type tTriangle

v1 As Long

v2 As Long

v3 As Long

End Type

 

C declaration

//Points (Vertices)

struct tVertex

{

long x;

long y;

long z;

};

 //Created Triangles, v# are the vertex pointers

struct tTriangle {

long v1;

long v2;

long v3;

};