TIN Toolkit


Functions

int MftAddNode (TEHANDLE th, DPOINT3D *P)
int MftAddNodeExt (TEHANDLE th, DPOINT3D *P, int TryOutside)
int MftAddVectorBreaklines (TEHANDLE th, const MIUNICODE *filename, INT32 inode, INT32 gvectinode)
int MftApplyExclude (TEHANDLE th, DPOLYGON *Exclude, INT32 NumExclude)
int MftClipByVector (TEHANDLE th, const MIUNICODE *filename, INT32 inode, INT32 gvectinode, int ClipMode)
int MftClose (TEHANDLE th, UINT32 flags)
int MftComputeElevation (TEHANDLE thandle, DPOINT3D *P)
int MftComputeExtents (TEHANDLE th)
int MftComputeStatistics (TEHANDLE th)
int MftCreateTIN (TEHANDLE th, DPOINT3D *Nodes, INT32 NumNodes, DOUBLE zscale, DOUBLE zoffset, DOUBLE xytolerance)
int MftCreateTINBatch (TEHANDLE th, DPOINT3D **Data, INT32 NumNodes, DOUBLE zscale, DOUBLE zoffset, DOUBLE xytolerance)
int MftDeleteEdgeHole (TEHANDLE th, INT32 Num)
int MftDeleteNode (TEHANDLE th, INT32 Num)
int MftDeleteNodeHole (TEHANDLE th, INT32 NodeNum)
int MftDeleteTriangleHole (TEHANDLE th, INT32 Num)
int MftGetConnectedNodeList (TEHANDLE th, INT32 Num, INT32 **list)
int MftGetElemRect (TEHANDLE vh, int ElemType, INT32 ElemNum, DRECT2D *rect)
int MftGetHandle (TEHANDLE th)
INT32 MftGetNodeEdges (TEHANDLE vh, INT32 Num, INT32 **edgelist)
int MftGetNodes (TEHANDLE th, INT32 NodeNum, INT32 *NumNodes, void **Array, INT32 **List, INT32 flag)
INT32 MftGetNumElements (TEHANDLE th, int ElemType)
int MftGetSurroundTriangles (TEHANDLE th, INT32 NodeNum, INT32 **TriList, INT32 **EdgeList, INT32 **NodeList, INT32 *trinum, INT32 *edgenum, INT32 *nodenum)
int MftGetTrianglesPoly (TEHANDLE th, DPOLYGON *poly, INT32 **TList, INT32 *num)
double MftGetZValue (TEHANDLE th, int ElemType, INT32 ElemNum)
TEHANDLE MftInit (void)
int MfTINMerge (int idA, INT32 ginodeA, int idB, INT32 ginodeB, RVC::OBJITEM &ObjItem)
int MftNew (TEHANDLE vh, const MIUNICODE *filename, RVCTININFO *Info, UINT32 flags)
int MftOpen (TEHANDLE vh, const MIUNICODE *filename, INT32 inode, RVCTININFO *vinfo, UINT32 flags)
int MftRebuildHulls (TEHANDLE th)
int MftRemoveFlatNodes (TEHANDLE thandle, DOUBLE dz, DOUBLE minedge)
int MftRemoveLongEdges (TEHANDLE th, DOUBLE distance)
int MftSave (TEHANDLE th, int dfindex, RVCGENINFO *geninfo, UINT32 flags)
int MftSetup (TEHANDLE vh, int id, RVCTININFO *tinfo, UINT32 flags)
int MftSetZValue (TEHANDLE vh, int ElemType, INT32 ElemNum, double zvalue)
void MftStop (TEHANDLE th)
int MftValidateTINTopology (TEHANDLE th, INT32 flag)

Function Documentation

int MftAddNode TEHANDLE  th,
DPOINT3D P
 

Add new node to the TIN structure.

Parameters:
th  TIN toolkit handle
P  New node location

int MftAddNodeExt TEHANDLE  th,
DPOINT3D P,
int  TryOutside
 

Add new node to TIN.

Parameters:
th  TIN toolkit handle
P  New node location

int MftAddVectorBreaklines TEHANDLE  th,
const MIUNICODE filename,
INT32  inode,
INT32  gvectinode
 

Add breaklines to the TIN structure from the vector object.

Parameters:
th  TIN toolkit handle
filename  Vector filename
inode  Vector object inode
gvectinode  Inode of the georeference subobject to use

int MftApplyExclude TEHANDLE  th,
DPOLYGON Exclude,
INT32  NumExclude
 

Remove all triangles that fall within given list of exclude areas (polygons).

Parameters:
th  TIN toolkit handle
Exclude  List of polygons
NumExclude  Number of exclude polygons

int MftClipByVector TEHANDLE  th,
const MIUNICODE filename,
INT32  inode,
INT32  gvectinode,
int  ClipMode
 

Clip TIN structure using vector object.

Parameters:
th  TIN toolkit handle
filename  Vector filename
inode  Vector object inode
gvectinode  Inode of the georeference subobject to use
ClipMode  Flag: TINCLIPMODE_Include or TINCLIPMODE_Exclude

int MftClose TEHANDLE  th,
UINT32  flags
 

Close current TIN object.

Parameters:
th  TIN toolkit handle
flags  Flags

int MftComputeElevation TEHANDLE  thandle,
DPOINT3D P
 

Compute z-value for a given x,y location.

Parameters:
thandle  TIN toolkit handle
P  Point to calculate z-value from

int MftComputeExtents TEHANDLE  th  ) 
 

Recompute extents for whole TIN object.

Parameters:
th  TIN toolkit handle

int MftComputeStatistics TEHANDLE  th  ) 
 

Compute standart statistics for TIN triangles.

Parameters:
th  TIN toolkit handle

int MftCreateTIN TEHANDLE  th,
DPOINT3D Nodes,
INT32  NumNodes,
DOUBLE  zscale,
DOUBLE  zoffset,
DOUBLE  xytolerance
 

Create TIN from scratch or replace existing TIN.

Parameters:
th  TIN toolkit handle
Nodes  List of input points
NumNodes  Number of input points
zscale  Scale coeff
zoffset  Offset coeff
xytolerance  Tolerance, minim. allowed distance between points

int MftCreateTINBatch TEHANDLE  th,
DPOINT3D **  Data,
INT32  NumNodes,
DOUBLE  zscale,
DOUBLE  zoffset,
DOUBLE  xytolerance
 

Create TIN from scratch with minimized memory usage.

NO QTREE WILL BE MAINTAINED !!! THIS FUNCTIONS IS NOT FOR USAGE WITHIN TNTedit!

Parameters:
th  TIN toolkit handle
NumNodes  Number of nodes
zscale  Z scale
zoffset  Z offset
xytolerance  XY tolerance

int MftDeleteEdgeHole TEHANDLE  th,
INT32  Num
 

Delete edge (and 2 adj.

triangles) and make a hole in the TIN.

IMPORTANT: Do not use this function to delete more than one edge, UNLESS you have sorted Nums in descending order. Edge numbers might changed after each call.

Parameters:
th  TIN toolkit handle
Num  Edge Number

int MftDeleteNode TEHANDLE  th,
INT32  Num
 

Delete given node and recompute triangulation in affected area.

Parameters:
th  TIN toolkit handle
Num  Node number to delete

int MftDeleteNodeHole TEHANDLE  th,
INT32  NodeNum
 

Delete node from tin object and make a hole there.

IMPORTANT: Do not use this function to delete more than one node, UNLESS you have sorted NodeNum in descending order. Node numbers might changed after each call.

Parameters:
th  TIN toolkit handle
NodeNum  Number of node

int MftDeleteTriangleHole TEHANDLE  th,
INT32  Num
 

Make a "hole" from triangle.

IMPORTANT: Do not use this function to delete more than one triangle, UNLESS you have sorted Nums in descending order. Triangle numbers might changed after each call.

Parameters:
th  TIN toolkit handle
Num  Triangle number

int MftGetConnectedNodeList TEHANDLE  th,
INT32  Num,
INT32 **  list
 

Get list of all nodes connected to given node.

Returns:
number of nodes - on success, < 0 on error. NOTE: this function assumes that TIN object has node-to-edge links,
Parameters:
th  TIN toolkit handle
Num  Node number
list  List of node numbers returned

int MftGetElemRect TEHANDLE  vh,
int  ElemType,
INT32  ElemNum,
DRECT2D rect
 

Get extents for specified element.

Parameters:
vh  TIN toolkit handle
ElemType  Element type
ElemNum  Element number
rect  Extents rectangle returned

int MftGetHandle TEHANDLE  th  ) 
 

Get TIN handle.

Returns:
TIN id
Parameters:
th  TIN toolkit handle

INT32 MftGetNodeEdges TEHANDLE  vh,
INT32  Num,
INT32 **  edgelist
 

Get sorted list of edges that connected to this node.

Returns:
number of edges or error if < 0 IMPORTANT: This function assumes that there is no Node-to-Edge link table in TIN object. This function used to build such list.
Parameters:
vh  TIN toolkit handle
Num  Node number
edgelist  List of edge numbers returned

int MftGetNodes TEHANDLE  th,
INT32  NodeNum,
INT32 NumNodes,
void **  Array,
INT32 **  List,
INT32  flag
 

Get a list of tin nodes as DPOINT3D/DPOINT2D/RVCTINNODE array.

Parameters:
th  TIN toolkit handle
NodeNum  Node number
NumNodes  Number of connected nodes returned
Array  Nodes data returned
List  List of connected node numbers
flag  if flag = 0, output is RVCTINNODE, 1 - DPOINT3D, 2 - DPOINT2D

INT32 MftGetNumElements TEHANDLE  th,
int  ElemType
 

Get number of element of specified type.

Parameters:
th  TIN toolkit handle
ElemType  Element type

int MftGetSurroundTriangles TEHANDLE  th,
INT32  NodeNum,
INT32 **  TriList,
INT32 **  EdgeList,
INT32 **  NodeList,
INT32 trinum,
INT32 edgenum,
INT32 nodenum
 

Get list of triangles which have given node as vertex.

Parameters:
th  TIN toolkit handle
NodeNum  Node number
TriList  List of triangles returned
EdgeList  List of surround edges returned
NodeList  List of surround nodes returned
trinum  Number of triangles
edgenum  Number of edges
nodenum  Number of nodes

int MftGetTrianglesPoly TEHANDLE  th,
DPOLYGON poly,
INT32 **  TList,
INT32 num
 

Get list of triangles that are within (even partially) given polygon.

Parameters:
th  TIN toolkit handle
poly  Polygon description
TList  List of triangles returned
num  Number of triangles returned

double MftGetZValue TEHANDLE  th,
int  ElemType,
INT32  ElemNum
 

Get internal z-value of TIN node.

Returns:
z-value
Parameters:
th  TIN toolkit handle
ElemType  Element type
ElemNum  Element number

TEHANDLE MftInit void   ) 
 

Initialize TIN toolkit handle.

Returns:
TIN Handle

int MfTINMerge int  idA,
INT32  ginodeA,
int  idB,
INT32  ginodeB,
RVC::OBJITEM ObjItem
 

This function blindly combines 2 TINs (using georeference) into one, and recomputes topology.

This function is not a member of TIN toolkit, but it uses it internally. Georeference handling: The output TIN object will have a georeference based on first (A) TIN object.

Parameters:
idA  Input TIN object 1
ginodeA  Georeference inode for TIN object 1
idB  Input TIN object 2
ginodeB  Georeference inode for TIN object 2
ObjItem  output object

int MftNew TEHANDLE  vh,
const MIUNICODE filename,
RVCTININFO Info,
UINT32  flags
 

Create new TIN object and initialize toolkit.

Parameters:
vh  TIN toolkit handle
filename  Filename to open
Info  TIN info
flags  Flags

int MftOpen TEHANDLE  vh,
const MIUNICODE filename,
INT32  inode,
RVCTININFO vinfo,
UINT32  flags
 

Open TIN object and setup.

Parameters:
vh  TIN toolkit handle
filename  Filename to open
inode  Inode of TIN object
vinfo  TIN info
flags  Flags

int MftRebuildHulls TEHANDLE  th  ) 
 

Recreate hull structures.

1. Read edges and find any that has "universe" triangle as neighbor. 2. Start tracing hull from this point until "chain" will be closed 3. Determine is it "universe" or "exclude" hull 4. Save information about this hull and start again until any unprocessed edge exists. All processed edges are marked in the binary array.

Parameters:
th  TIN toolkit handle

int MftRemoveFlatNodes TEHANDLE  thandle,
DOUBLE  dz,
DOUBLE  minedge
 

Removes nodes that connected to nodes with z-value equal to its own.

This function removes FLAT TRIANGLES using tolerance.

Parameters:
thandle  TIN toolkit handle
dz  Tolerance: max. allowed difference in z-values
minedge  Minimum edge length between 2 nodes that are within dz-tolerance

int MftRemoveLongEdges TEHANDLE  th,
DOUBLE  distance
 

This function will delete edges that are longer than specified length and create empty holes in those areas.

Parameters:
th  TIN toolkit handle
distance  Maximum possible distance

int MftSave TEHANDLE  th,
int  dfindex,
RVCGENINFO geninfo,
UINT32  flags
 

Save TIN object in the suppled object.

Parameters:
th  TIN toolkit handle
flags  Flags

int MftSetup TEHANDLE  vh,
int  id,
RVCTININFO tinfo,
UINT32  flags
 

Setup TIN toolkit for specified TIN object.

Parameters:
vh  TIN toolkit handle
id  Id of TIN object
tinfo  TIN info
flags  Flags

int MftSetZValue TEHANDLE  vh,
int  ElemType,
INT32  ElemNum,
double  zvalue
 

Set internal z-value (for TIN node).

Parameters:
vh  TIN toolkit handle
ElemType  Element type
ElemNum  Element number
zvalue  Z-value

void MftStop TEHANDLE  th  ) 
 

Close & free TIN toolkit.

Parameters:
th  TIN toolkit handle

int MftValidateTINTopology TEHANDLE  th,
INT32  flag
 

Validate TIN topology for entire object.

THIS FUNCTION CAN'T FIX TOPOLOGY!

Parameters:
th  TIN toolkit handle
flag  If flag equals to 0 process will not check node-edge connectivity


Generated on Wed May 31 15:29:25 2006 for TNTsdk by  doxygen 1.3.8-20040913