rvctin.h File Reference

#include <mi32/rvcdefns.h>
#include <mi32/mstatus.h>
#include <mi32/stddefns.h>

Include dependency graph for rvctin.h:

Include dependency graph

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Classes

struct  EDGEINFO
 Edge Info structure. More...
struct  RVCTINEDGE
 TIN edge structure. More...
struct  RVCTINHULL
 TIN hull structure. More...
struct  RVCTINHULLEDGE
 TIN hull edge structure. More...
struct  RVCTININFO
struct  RVCTINNODE
 TIN node structure. More...
struct  RVCTINTRIANGLE
 TIN triangle structure. More...
struct  TRIANGLEEDGES
 Triangle Edges structure. More...
struct  TRIANGLEINFO
 Triangle Info structure. More...
struct  TRIANGLENODES
 Triangle Nodes structure. More...
struct  TRIANGLEREF
 Triangle structure. More...
struct  TRIANGLETRIANGLES
 Triangle Triangles structure. More...

Defines

#define GEOMLIBEXPORT   MI_DLLIMPORT
#define MfCloseTIN(_id, _info)   _MfTINClose((_id),(_info),sizeof(RVCTININFO))
#define MfMakeTIN(_id, _info, _fl)   _MfTINMake((_id),(_info),sizeof(RVCTININFO),(_fl))
#define MfOpenTIN(_id, _oi, _info, _fl)   _MfTINOpen((_id),(_oi),(_info),sizeof(RVCTININFO),(_fl))
#define MfReadOpenTINHeader(_id, _info)   _MfTINHeaderReadOpen((_id),(_info),sizeof(RVCTININFO))
#define TIN_HasCascading   0x0004
#define TIN_HasEdgeLists   0x0002
#define TIN_HasNodeLists   0x0001
#define TINEDGE_Hard   0x01
#define TINHULL_Clip   1
#define TINHULL_Convex   0
#define TINHULL_Exclude   2

Functions

int ComputeTriangleContours (RVCTINNODE *A, RVCTINNODE *B, RVCTINNODE *C, DOUBLE start, DOUBLE end, DOUBLE interval, DPOLYLINE3D **Contours)
int ComputeTriangleContoursExt (RVCTINNODE *A, RVCTINNODE *B, RVCTINNODE *C, DOUBLE start, DOUBLE end, DOUBLE interval, void(*CBfunc)(DPOLYLINE3D *, void *), void *userdata)
GEOMLIBEXPORT int Delaunay2D (DPOINT2D **Nodes, TRIANGLEREF **Triangles, INT32 *NumNodes, INT32 *NumTriangles, double Tolerance, MSTATUSINTERFACE StatInt)
GEOMLIBEXPORT int Delaunay3D (DPOINT3D **Nodes, TRIANGLEREF **Triangles, INT32 *NumNodes, INT32 *NumTriangles, double Tolerance, MSTATUSINTERFACE StatInt)
GEOMLIBEXPORT int DelaunayProc (DPOINT3D **Nodes, TRIANGLEREF **Triangles, RVCTINHULLEDGE **Con, RVCTINHULL *HullInfo, INT32 *NumNodes, INT32 *NumTriangles, INT32 *NumHullEdges, double Tolerance, MSTATUSINTERFACE StatInt)
DEPRECATED int MdlgGetTINObject (MDLGPARENT dlgparent, UNICODE *filename, INT32 *inode, const void *prompt, RVCTININFO *objinfo, MfFiltFuncProto filter=0, void *filtuserdata=0, GETOBJFLAGS flags=GETOBJFLAG_None)
DEPRECATED int MdlgGetTINObject (MDLGPARENT dlgparent, FILEPATH &filename, INT32 *inode, const void *prompt, RVCTININFO *objinfo, MfFiltFuncProto filter=0, void *filtuserdata=0, GETOBJFLAGS flags=GETOBJFLAG_None)
RVCAPPLIBEXPORT int MfClearTINEdgeList (int id)
RVCAPPLIBEXPORT int MfReadTINEdge (int id, INT32 num, RVCTINEDGE *hdr)
int MfReadTINHeader (int fhandle, RVCINODENUM inode, RVCTININFO *info)
RVCAPPLIBEXPORT int MfReadTINHull (int id, INT32 num, RVCTINHULL *hdr, INT32 *numedges, INT32 *numisles)
RVCAPPLIBEXPORT INT32 MfReadTINHullEdges (int id, INT32 hullnum, INT32 start, INT32 num, RVCTINHULLEDGE *edges)
RVCAPPLIBEXPORT INT32 MfReadTINHullIslands (int id, INT32 hullnum, INT32 start, INT32 num, INT32 *islands)
RVCAPPLIBEXPORT int MfReadTINNode (int id, INT32 num, RVCTINNODE *hdr, INT32 *numedges)
RVCAPPLIBEXPORT INT32 MfReadTINNodeEdges (int id, INT32 node, INT32 start, INT32 num, INT32 *edges)
RVCAPPLIBEXPORT INT32 MfReadTINNodeEdgesExt (int id, INT32 node, INT32 **edges, INT32 MaxItems)
RVCAPPLIBEXPORT int MfReadTINTriangle (int id, INT32 num, RVCTINTRIANGLE *hdr)
RVCAPPLIBEXPORT int MfResizeTIN (int id, INT32 nodes, INT32 edges, INT32 triangles, INT32 hulls)
RVCAPPLIBEXPORT int MfSwapTINHullEdges (int ohandle, INT32 hullnum1, INT32 hullnum2)
RVCAPPLIBEXPORT int MfSwapTINNodeEdges (int ohandle, INT32 node1, INT32 node2)
RVCLOWLIBEXPORT ERRVALUE MfTINCallbackAdd (int fhandle, MfCallbackFunc func, void *data, UINT32 reason)
RVCLOWLIBEXPORT ERRVALUE MfTINCallbackRemove (int fhandle, MfCallbackFunc func, void *data, UINT32 reason)
RVCAPPLIBEXPORT ERRVALUE MfTINGetExtents (int id, DRECT3D &Extents)
RVCAPPLIBEXPORT INT32 MfTINGetNumEdges (int id)
RVCAPPLIBEXPORT INT32 MfTINGetNumHulls (int id)
RVCAPPLIBEXPORT INT32 MfTINGetNumNodes (int id)
RVCAPPLIBEXPORT INT32 MfTINGetNumTriangles (int id)
RVCAPPLIBEXPORT ERRVALUE MfTINSetExtents (int id, const DRECT3D &Extents)
RVCAPPLIBEXPORT ERRVALUE MfTINUpdateExtents (int id, const DRECT3D &Extents)
RVCAPPLIBEXPORT int MfWriteTINEdge (int id, INT32 num, const RVCTINEDGE *hdr)
int MfWriteTINHeader (int fhandle, RVCINODENUM inode, RVCTININFO *info)
RVCAPPLIBEXPORT int MfWriteTINHull (int id, INT32 num, const RVCTINHULL *hdr)
RVCAPPLIBEXPORT INT32 MfWriteTINHullEdges (int id, INT32 hullnum, INT32 total, INT32 start, INT32 num, const RVCTINHULLEDGE *edges)
RVCAPPLIBEXPORT INT32 MfWriteTINHullIslands (int id, INT32 hullnum, INT32 total, INT32 start, INT32 num, const INT32 *islands)
RVCAPPLIBEXPORT int MfWriteTINNode (int id, INT32 num, const RVCTINNODE *hdr)
RVCAPPLIBEXPORT INT32 MfWriteTINNodeEdges (int id, INT32 node, INT32 total, INT32 start, INT32 num, const INT32 *edges)
RVCAPPLIBEXPORT int MfWriteTINTriangle (int id, INT32 num, const RVCTINTRIANGLE *hdr)
int PointInTINTriangle (int ohandle, INT32 TriangleNum, double xcheck, double ycheck)


Define Documentation

#define GEOMLIBEXPORT   MI_DLLIMPORT
 

Note: This MUST go after inclusion of stddefns.h.

Definition at line 186 of file rvctin.h.

#define MfCloseTIN _id,
_info   )     _MfTINClose((_id),(_info),sizeof(RVCTININFO))
 

Definition at line 845 of file rvctin.h.

#define MfMakeTIN _id,
_info,
_fl   )     _MfTINMake((_id),(_info),sizeof(RVCTININFO),(_fl))
 

Definition at line 847 of file rvctin.h.

#define MfOpenTIN _id,
_oi,
_info,
_fl   )     _MfTINOpen((_id),(_oi),(_info),sizeof(RVCTININFO),(_fl))
 

Definition at line 848 of file rvctin.h.

#define MfReadOpenTINHeader _id,
_info   )     _MfTINHeaderReadOpen((_id),(_info),sizeof(RVCTININFO))
 

Definition at line 846 of file rvctin.h.

#define TIN_HasCascading   0x0004
 

Definition at line 438 of file rvctin.h.

#define TIN_HasEdgeLists   0x0002
 

Definition at line 437 of file rvctin.h.

#define TIN_HasNodeLists   0x0001
 

Values for RVCTININFO.flags.

Definition at line 436 of file rvctin.h.

#define TINEDGE_Hard   0x01
 

Values for RVCTINTRIANGLE.edgeflagsXX.

Definition at line 428 of file rvctin.h.

#define TINHULL_Clip   1
 

Definition at line 432 of file rvctin.h.

#define TINHULL_Convex   0
 

Values for RVCTINHULL.hulltype.

Definition at line 431 of file rvctin.h.

#define TINHULL_Exclude   2
 

Definition at line 433 of file rvctin.h.


Function Documentation

int ComputeTriangleContours RVCTINNODE A,
RVCTINNODE B,
RVCTINNODE C,
DOUBLE  start,
DOUBLE  end,
DOUBLE  interval,
DPOLYLINE3D **  Contours
 

Compute full set of contour segments for a given triangle (as a set of 3 nodes).

Return: number of contours computed (might return 0). NOTE: Programmer is responsible for freeing Contours when done, do not forget to free individual entries: (*Contours)[i].point .

Parameters:
A  passed node of the triangle (supply x,y,z)
B  passed node of the triangle (supply x,y,z)
C  passed node of the triangle (supply x,y,z)
start  passed starting level of contouring range (Z)
end  passed ending level of contouring range (Z)
interval  passed interval between contour lines in Z units
Contours  return array of DPOLYLINE3D that contains contours

int ComputeTriangleContoursExt RVCTINNODE A,
RVCTINNODE B,
RVCTINNODE C,
DOUBLE  start,
DOUBLE  end,
DOUBLE  interval,
void(*  CBfunc)(DPOLYLINE3D *, void *),
void *  userdata
 

Compute full set of contour segments for a given triangle (as a set of 3 nodes).

Returns:
number of contours computed (might return 0).
Parameters:
A  passed node of the triangle (supply x,y,z)
B  passed node of the triangle (supply x,y,z)
C  passed node of the triangle (supply x,y,z)
start  passed starting level of contouring range (Z)
end  passed ending level of contouring range (Z)
interval  passed interval between contour lines in Z units
userdata  callback that will be envoked for each contour line user specified data to be passed to callback

GEOMLIBEXPORT int Delaunay2D DPOINT2D **  Nodes,
TRIANGLEREF **  Triangles,
INT32 NumNodes,
INT32 NumTriangles,
double  Tolerance,
MSTATUSINTERFACE  StatInt
 

GENERATING_DOXYGEN_OUTPUT.

Note: This function calls DelaunayProc.

Parameters:
Nodes  Input/output array of points
Triangles  Output array of triangles
NumNodes  Number of input/output nodes passed/returned
NumTriangles  Number of the output triangles
Tolerance  Spatial tolerance
StatInt  Status interface from MstatusInterfaceGet()

GEOMLIBEXPORT int Delaunay3D DPOINT3D **  Nodes,
TRIANGLEREF **  Triangles,
INT32 NumNodes,
INT32 NumTriangles,
double  Tolerance,
MSTATUSINTERFACE  StatInt
 

Performs Delaunay triangulation (short parameters list).

Note: This function calls DelaunayProc.

Parameters:
Nodes  Input/output array of points
Triangles  Output array of triangles
NumNodes  Number of input/output nodes passed/returned
NumTriangles  Number of the output triangles
Tolerance  Spatial tolerance
StatInt  Status interface from MstatusInterfaceGet()

GEOMLIBEXPORT int DelaunayProc DPOINT3D **  Nodes,
TRIANGLEREF **  Triangles,
RVCTINHULLEDGE **  Con,
RVCTINHULL HullInfo,
INT32 NumNodes,
INT32 NumTriangles,
INT32 NumHullEdges,
double  Tolerance,
MSTATUSINTERFACE  StatInt
 

Performs Delaunay triangulation (full parameters list).

NOTE: The triangle vertices in TRIANGLEREF structure are organized in clockwise direction (when looking down) WARNING: The order of input Nodes will be changed, all nodes will be sorted using X coordinate (then Y if two points have equal X coordinates). WARNING: NUMBER OF NODES RETURNED MIGHT BE DIFFERENT FROM INPUT, because of duplicate point removal using tolerance value.

Parameters:
Nodes  Input/output array of points
Triangles  Output array of triangles
Con  Output array of hull edges
HullInfo  Information about convex hull
NumNodes  Number of input/output nodes passed/returned
NumTriangles  Number of the output triangles
NumHullEdges  Number of the hull edges
Tolerance  Spatial tolerance
StatInt  Status interface from MstatusInterfaceGet()

DEPRECATED int MdlgGetTINObject MDLGPARENT  dlgparent,
UNICODE filename,
INT32 inode,
const void *  prompt,
RVCTININFO objinfo,
MfFiltFuncProto  filter = 0,
void *  filtuserdata = 0,
GETOBJFLAGS  flags = GETOBJFLAG_None
[inline]
 

X_NATIVE || WIN32_MFC.

Parameters:
dlgparent  Parent widget
filename  Default filename
inode  Vector object inode passed/returned
prompt  Prompt label
objinfo  Object header passed/returned
filter  Filter function
filtuserdata  Filter function data
flags  Get object flags (See rvcdefns.h)

Definition at line 462 of file rvctin.h.

DEPRECATED int MdlgGetTINObject MDLGPARENT  dlgparent,
FILEPATH filename,
INT32 inode,
const void *  prompt,
RVCTININFO objinfo,
MfFiltFuncProto  filter = 0,
void *  filtuserdata = 0,
GETOBJFLAGS  flags = GETOBJFLAG_None
[inline]
 

Pop-up dialog allowing user to select a TIN object.

Parameters:
dlgparent  Parent widget
filename  Default filename
inode  Vector object inode passed/returned
prompt  Prompt label
objinfo  Object header passed/returned
filter  Filter function
filtuserdata  Filter function data
flags  Get object flags (See rvcdefns.h)

Definition at line 448 of file rvctin.h.

RVCAPPLIBEXPORT int MfClearTINEdgeList int  id  ) 
 

Efficiently erases the edge list.

Used before rebuilding the edge list to avoid AddToFreeList() calls in rvclist.c.

Parameters:
id  Open TIN object handle

RVCAPPLIBEXPORT int MfReadTINEdge int  id,
INT32  num,
RVCTINEDGE hdr
 

Read TIN edge.

Parameters:
id  Open TIN object handle
num  Edge id
hdr  RVCTINEDGE passed / returned

int MfReadTINHeader int  fhandle,
RVCINODENUM  inode,
RVCTININFO info
[inline]
 

Read TIN header.

Parameters:
fhandle  RVC file handle
inode  Object inode
info  TIN info to read

Definition at line 478 of file rvctin.h.

RVCAPPLIBEXPORT int MfReadTINHull int  id,
INT32  num,
RVCTINHULL hdr,
INT32 numedges,
INT32 numisles
 

Read TIN hull.

Parameters:
id  Open TIN object handle
num  Hull id
hdr  RVCTINHULL passed / returned
numedges  Number of edges returned
numisles  Number of islands returned

RVCAPPLIBEXPORT INT32 MfReadTINHullEdges int  id,
INT32  hullnum,
INT32  start,
INT32  num,
RVCTINHULLEDGE edges
 

Read TIN hull edges.

Returns:
number of edges read
Parameters:
id  Open TIN object handle
hullnum  Hull id
start  Starting edge id
num  Number of edges to read
edges  RVCTINHULLEDGE passed / returned

RVCAPPLIBEXPORT INT32 MfReadTINHullIslands int  id,
INT32  hullnum,
INT32  start,
INT32  num,
INT32 islands
 

Read TIN hull islands.

Returns:
number of islands read
Parameters:
id  Open TIN object handle
hullnum  Hull id
start  Starting island id
num  Number of islands to read
islands  Island id's returned

RVCAPPLIBEXPORT int MfReadTINNode int  id,
INT32  num,
RVCTINNODE hdr,
INT32 numedges
 

Read TIN node.

Parameters:
id  Open TIN object handle
num  Node id
hdr  RVCTINNODE passed / returned
numedges  Edge id's returned

RVCAPPLIBEXPORT INT32 MfReadTINNodeEdges int  id,
INT32  node,
INT32  start,
INT32  num,
INT32 edges
 

Read TIN node edges.

Returns:
number of edges read
Parameters:
id  Open TIN object handle
node  Node id
start  Starting edge id
num  Number of edges to read
edges  Edge id's returned

RVCAPPLIBEXPORT INT32 MfReadTINNodeEdgesExt int  id,
INT32  node,
INT32 **  edges,
INT32  MaxItems
 

Read TIN node edges.

Used by the wrapper class

Returns:
number of edges read
Parameters:
id  Open TIN object handle
node  Node id
edges  Edge id's returned
MaxItems  Size of buffer in INT32 increments

RVCAPPLIBEXPORT int MfReadTINTriangle int  id,
INT32  num,
RVCTINTRIANGLE hdr
 

Read TIN triangle.

Parameters:
id  Open TIN object handle
num  Triangle id
hdr  RVDTINTRIANGLE returned

RVCAPPLIBEXPORT int MfResizeTIN int  id,
INT32  nodes,
INT32  edges,
INT32  triangles,
INT32  hulls
 

Resize a TIN.

Parameters:
id  Open TIN object handle
nodes  Number of nodes in the new TIN
edges  Number of edges in the new TIN
triangles  Number of triangles in the new TIN
hulls  Number of hulls in the new TIN

RVCAPPLIBEXPORT int MfSwapTINHullEdges int  ohandle,
INT32  hullnum1,
INT32  hullnum2
 

Swap two TIN hulls.

Parameters:
ohandle  Open TIN object handle
hullnum1  Hull number to swap
hullnum2  Hull number to swap

RVCAPPLIBEXPORT int MfSwapTINNodeEdges int  ohandle,
INT32  node1,
INT32  node2
 

Swap two TIN nodes.

Parameters:
ohandle  Open TIN object handle
node1  Node number to swap
node2  Node number to swap

RVCLOWLIBEXPORT ERRVALUE MfTINCallbackAdd int  fhandle,
MfCallbackFunc  func,
void *  data,
UINT32  reason
 

Add a callback.

Parameters:
fhandle  Open file handle
func  Callback function
data  Callback data
reason  Callback reason

RVCLOWLIBEXPORT ERRVALUE MfTINCallbackRemove int  fhandle,
MfCallbackFunc  func,
void *  data,
UINT32  reason
 

REmove a callback.

Parameters:
fhandle  Open file handle
func  Callback function
data  Callback data
reason  Callback reason

RVCAPPLIBEXPORT ERRVALUE MfTINGetExtents int  id,
DRECT3D Extents
 

Get extents for the vector object.

RVCAPPLIBEXPORT INT32 MfTINGetNumEdges int  id  ) 
 

Get number of edges in a TIN.

Returns:
number of edges
Parameters:
id  Open TIN object handle

RVCAPPLIBEXPORT INT32 MfTINGetNumHulls int  id  ) 
 

Get number of hulls in a TIN.

Returns:
number of hulls
Parameters:
id  Open TIN object handle

RVCAPPLIBEXPORT INT32 MfTINGetNumNodes int  id  ) 
 

Get number of nodes in a TIN.

Returns:
number of nodes
Parameters:
id  Open TIN object handle

RVCAPPLIBEXPORT INT32 MfTINGetNumTriangles int  id  ) 
 

Get number of triangles in a TIN.

Returns:
number of triangles
Parameters:
id  Open TIN object handle

RVCAPPLIBEXPORT ERRVALUE MfTINSetExtents int  id,
const DRECT3D Extents
 

Set extents for the vector object.

RVCAPPLIBEXPORT ERRVALUE MfTINUpdateExtents int  id,
const DRECT3D Extents
 

Update extents for the vector object.

RVCAPPLIBEXPORT int MfWriteTINEdge int  id,
INT32  num,
const RVCTINEDGE hdr
 

Write TIN edge.

Parameters:
id  Open TIN object handle
num  Edge number to write
hdr  TIN edge data to write

int MfWriteTINHeader int  fhandle,
RVCINODENUM  inode,
RVCTININFO info
[inline]
 

Write TIN header.

Parameters:
fhandle  RVC file handle
inode  Object inode
info  TIN info to write

Definition at line 487 of file rvctin.h.

RVCAPPLIBEXPORT int MfWriteTINHull int  id,
INT32  num,
const RVCTINHULL hdr
 

Write TIN hull.

Parameters:
id  Open TIN object handle
num  Hull number to write
hdr  TIN hull data to write

RVCAPPLIBEXPORT INT32 MfWriteTINHullEdges int  id,
INT32  hullnum,
INT32  total,
INT32  start,
INT32  num,
const RVCTINHULLEDGE edges
 

Write TIN hull edges.

Parameters:
id  Open TIN object handle
hullnum  Hull number to write
total  Total number of edges
start  Starting edge
num  Number of edges to write
edges  TIN hull edge data to write

RVCAPPLIBEXPORT INT32 MfWriteTINHullIslands int  id,
INT32  hullnum,
INT32  total,
INT32  start,
INT32  num,
const INT32 islands
 

Write TIN hull islands.

Parameters:
id  Open TIN object handle
hullnum  Hull number to write
total  Total number of islands
start  Starting island
num  Number of islands to write
islands  TIN hull island id's to write

RVCAPPLIBEXPORT int MfWriteTINNode int  id,
INT32  num,
const RVCTINNODE hdr
 

Write TIN node.

Parameters:
id  Open TIN object handle
num  Node number to write
hdr  TIN node data to write

RVCAPPLIBEXPORT INT32 MfWriteTINNodeEdges int  id,
INT32  node,
INT32  total,
INT32  start,
INT32  num,
const INT32 edges
 

Write TIN node edges.

Parameters:
id  Open TIN object handle
node  Node number to write
total  Total number to edges
start  Starting edge
num  Number of edges to write
edges  TIN edge id's to write

RVCAPPLIBEXPORT int MfWriteTINTriangle int  id,
INT32  num,
const RVCTINTRIANGLE hdr
 

Write TIN triangle.

Parameters:
id  Open TIN object handle
num  Triangle number to write
hdr  TIN triangle data to write

int PointInTINTriangle int  ohandle,
INT32  TriangleNum,
double  xcheck,
double  ycheck
 

Determine if a given point is inside specified TIN triangle.

Returns:
1 if true, 0 if false, < 0 if error
Parameters:
ohandle  RVC handle for open TIN object
TriangleNum  Triangle number to test
xcheck  TIN X coordinate of point to test
ycheck  TIN Y coordinate of point to test


Generated on Tue Dec 14 13:19:16 2004 for TNTsdk by  doxygen 1.3.8-20040913