mi32/vecfuncs.h File Reference

#include <mi32/intsec2.h>
#include <mi32/geom2d.h>
#include <mi32/rvcqtree.h>
#include <mi32/statobj.h>
#include <mi32/rvcdbase.h>
#include <mi32/mcb.h>
#include <mi32/rvcvect.h>

Include dependency graph for vecfuncs.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  MfvAddLineOverlapCallbackStruct
struct  MfvAnyCallbackStruct
struct  VELEMINFO
struct  VNODELINEANGLE
class  VTKSNAPOBJECT
 Vector toolkit snap object parameters structure. More...

class  VTKSNAPPARMS

Defines

#define ELEMLISTALLOC   (64)
#define STATLISTALLOC   (64)
#define MfvCR_Add   0x00000001
#define MfvCR_Delete   0x00000002
#define MfvCR_SplitBegin   0x00000004
#define MfvCR_SplitEnd   0x00000008
#define MfvCR_MoveBegin   0x00000010
#define MfvCR_MoveEnd   0x00000020
#define MfvCR_JoinBegin   0x00000040
#define MfvCR_JoinEnd   0x00000080
#define MfvCR_ValSplitLine   0x00000100
#define MfvCR_AddLineOverlap   0x00000200
#define MfvCR_NodeToPtBegin   0x00000400
#define MfvCR_NodeToPtEnd   0x00000800
#define MfvCR_PtToNodeBegin   0x00001000
#define MfvCR_PtToNodeEnd   0x00002000
#define MfvCR_NodeLineAdd   0x00004000
#define MfvCR_NodeLineDelete   0x00008000
#define MFVSNAP_ElemMask   0x0000000F
#define MFVSNAP_ToAnyElement   0x00000000
#define MFVSNAP_ToLine   0x00000001
#define MFVSNAP_ToPoint   0x00000002
#define MFVSNAP_ToNode   0x00000003
#define MFVSNAP_ToNothing   0x00000004
#define MFVSNAP_ToVertex   0x00000005
#define MFVSNAP_SnapMask   0x000000F0
#define MFVSNAP_AddVertexSnap   0x00000000
#define MFVSNAP_DirectSnap   0x00000010
#define MFVSNAP_ContinueSnap   0x00000020
#define MFVSNAP_RemOvershoots   0x00000100
#define MFVSNAP_DontCrossLines   0x00000200
#define MFVSNAP_DontSnapToSelf   0x00000400
#define MFVSNAP_BothEnds   0x00000000
#define MFVSNAP_StartPtOnly   0x00000800
#define MFVSNAP_EndPtOnly   0x00001000
#define MFVFLAG_NoQtree   0x00000001
#define MFVFLAG_NoDBStatTable   0x00000002
#define MFVFLAG_KeepAttachedLabels   0x00000004
#define MFVFLAG_IsContour   0x00000008
#define MFVFLAG_NoStyle   0x00000010
#define MFVFLAG_NoConvIfElemID   0x00000020
#define MFVFLAG_NoDatabase   0x00000040
#define MFVFLAG_RemExNodesDelLine   0x00000080
#define MFVFLAG_NoHyper   0x00000100
#define MFVFLAG_NoCreateTables   0x00000200
#define MFVFLAG_NoCreateStyle   0x00000400
#define MFVFLAG_NoCreateElemID   0x00000800
#define MFVFLAG_IgnoreBadMinMax   0x00001000
#define MFVFLAG_NoValidateNodes   0x00002000
#define MFVFLAG_NoSaveQTree   0x00004000
#define MFVFLAG_NoStatusText   0x00008000
#define MFVFLAG_NoCreatePolyID   0x00010000
#define MFVFLAG_NoChangeTopoType   0x00020000
#define MFVFLAG_NoPolyQTree   0x01000000
#define MFVFLAG_NoLineQTree   0x02000000
#define MFVFLAG_NoPointQTree   0x04000000
#define MFVFLAG_NoLabelQTree   0x08000000
#define MFVFLAG_NoNodeQTree   0x10000000
#define MFVFLAG_NoElemQTree   0x1F000000
#define MFVFLAG_RebuildPolys   0x00000001
#define MFVFLAG_RebuildIslands   0x00000002
#define MFVFLAG_RebuildNodeLL   0x00000004
#define MFVTOPO_DontValidateZ   0x00000008
#define MFVFLAG_GoodLeftRight   0x00000010
#define MFVFLAG_NoCheckHyper   0x00000020
#define MFVFLAG_NoCheckDatabase   0x00000040
#define MFVFLAG_NoRemoveNodes   0x00000080
#define MFVFLAG_AttemptAllElem   0x00000100
#define MFVFLAG_ForceClipBorder   0x00000200
#define MFVFLAG_NoClipBorder   0x00000400
#define MFVFLAG_OnlyClipLines   0x00000800
#define MFVFLAG_NoStdAttrib   0x00001000
#define MFVFLAG_RemUnusedDBRec   0x00002000
#define MFVFLAG_NoValTopoType   0x00004000
#define MFVSAVE_RemExNodes   0x00000001
#define MFVSAVE_RemExRecords   0x00000002
#define MFVSAVE_Optimize   0x00000004
#define MFVLINE_AverageZValue   0x00000001
#define MFVLINE_SetMaxPoints   0x00000002
#define MFVPOLY_LongLineDelete   0x00000001
#define MFVPOLY_NoDeleteSpurs   0x00000002
#define MFVPOLY_PolyCntCollapse   0x00000004
#define MFVPOLY_RemoveAllIslands   0x00000008
#define MFVPOLY_NoCombineAttrib   0x00000010
#define MFVPOINT_IsNodePoint   0x00000001

Typedefs

typedef void * VEHANDLE

Functions

int MfvAddLabel (VEHANDLE vhandl, RVCVECTLABEL *vlabel)
int MfvAddLine (VEHANDLE vhandle, DPOLYGON *dpoly)
int MfvAddLine3D (VEHANDLE vhandle, DPOLYLINE3D *dpoly)
int MfvAddLineSnapPoints (VEHANDLE vhandle, INT32 LineNum, DPOLYGON *dpoly)
int MfvAddNode (VEHANDLE vhandle, DPOINT2D *point)
int MfvAddPoint (VEHANDLE vhandle, RVCVECTPOINT *point)
int MfvAddPolygon (VEHANDLE vhandle, DPOLYGON *dpoly)
int MfvAddSnapPoints (VEHANDLE vhandle, DPOLYGON *dpoly, bool &SnappedStart, bool &SnappedEnd)
int MfvAutoGenLabelPosn (VEHANDLE vhandle, INT32 elemnum, ELEMTYPE ElemType, DPOLYGON *dpoly, double length)
int MfvBuildPolygons (VEHANDLE vhandle, UINT32 flags)
int MfvChangeLabel (VEHANDLE vhandle, INT32 labelnum, RVCVECTLABEL *vlabel)
int MfvChangeLine (VEHANDLE vhandle, INT32 linenum, DPOLYGON *dpoly)
int MfvChangeNode (VEHANDLE vhandle, INT32 nodenum, DPOINT3D *point, DPOLYGON *pllist, INT32 numpllist)
int MfvChangePoint (VEHANDLE vhandle, INT32 pointnum, RVCVECTPOINT *point, UINT32 flags)
int MfvClipToRegion (VEHANDLE vhandle, DREGION *region, UINT32 RegionTest, UINT8 *PolySet, UINT32 flags)
int MfvClose (VEHANDLE vhandle, UINT32 flags)
int MfvCombineNodes (VEHANDLE vhandle, INT32 NodeNum, DPOINT3D *pt, INT32 *nodelist, INT32 NumNodes, UINT32 flags)
int MfvConvertPointType (VEHANDLE vhandle, UINT32 NewPointType, UINT32 flags)
ERRVALUE MfvConvertNodeToPoint (VEHANDLE vh, INT32 NodeNum)
int MfvDeleteLabel (VEHANDLE vhandle, INT32 labelnum)
int MfvDeleteLabels (VEHANDLE vhandle, INT32 *labellist, INT32 numlabels)
int MfvDeleteLine (VEHANDLE vhandle, INT32 linenum)
int MfvDeleteLines (VEHANDLE vhandle, INT32 *linelist, INT32 numlines)
int MfvDeleteNode (VEHANDLE vhandle, INT32 nodenum, UINT32 flags)
int MfvDeleteNodes (VEHANDLE vhandle, INT32 *nodelist, INT32 numnodes, UINT32 flags)
int MfvDeletePoint (VEHANDLE vhandle, INT32 pointnum)
int MfvDeletePoints (VEHANDLE vhandle, INT32 *ptlist, INT32 numpts)
int MfvDeletePolygon (VEHANDLE vhandle, INT32 polynum, UINT32 flags)
int MfvDeletePolygons (VEHANDLE vhandle, INT32 *polylist, INT32 numpolys, UINT32 flags)
int MfvExtractToRegion (VEHANDLE vhandle, DREGION *region, UINT32 RegionTest, UINT32 flags)
INT32 MfvFindClosestLineVertex (VEHANDLE vhandle, INT32 linenum, DPOINT2D *testpt, DPOINT3D *retpt)
int MfvFindPolygonIslands (VEHANDLE vhandle, UINT32 flags)
ERRVALUE MfvGenerateElementIDTables (VEHANDLE vhandle)
int MfvGenerateIntersectionsExt (VEHANDLE vhandle, DPOLYGON *dpoly, INTERSECTINFO *ints, INT32 MaxIntersections)
int MfvGenerateIntersections (VEHANDLE vhandle, DPOLYGON *dpoly, INTERSECTINFO *ints)
int MfvGetDBHandle (VEHANDLE vhandle, ELEMTYPE ElemType)
int MfvGetElemRect (VEHANDLE vhandle, ELEMTYPE ElemType, INT32 ElemNum, DRECT2D *rect)
int MfvGetIntsHandle (VEHANDLE vhandle, void **ihp)
int MfvGetHandle (VEHANDLE vhandle)
INT32 MfvGetNumElements (VEHANDLE vhandle, ELEMTYPE ElemType)
QTREEHANDLE MfvGetQTree (VEHANDLE vhandle, ELEMTYPE ElemType)
const VTKSNAPOBJECTMfvGetSnapObject (VEHANDLE vhandle)
void MfvGetSnapOptions (VEHANDLE vhandle, double *dist, UINT32 *options)
void MfvGetSnapParms (VEHANDLE vhandle, VTKSNAPPARMS &SnapParms)
int MfvGetStyleHandle (VEHANDLE vhandle)
double MfvGetZValue (VEHANDLE vhandle, ELEMTYPE ElemType, INT32 ElemNum)
VEHANDLE MfvInit (void)
int MfvLineCollapse (VEHANDLE vhandle, INT32 linenum, double maxdist, UINT32 flags)
int MfvLineRemoveDangle (VEHANDLE vhandle, INT32 linenum, double maxdist, UINT32 flags)
INT32 MfvLineRemoveDangleSet (VEHANDLE vhandle, INT32 *linelist, INT32 numlines, double maxdist, UINT32 flags)
INT32 MfvLineSpline (VEHANDLE vhandle, INT32 linenum, UINT32 SplineType, INT32 NumKnots, double Tolerance, UINT32 flags)
int MfvLineSplineSet (VEHANDLE vhandle, UINT8 *linelist, UINT32 SplineType, INT32 NumKnots, double Tolerance, UINT32 flags)
int MfvLineSplitAtMaxPoints (VEHANDLE vhandle, INT32 MaxPoints, UINT32 flags)
INT32 MfvLineThin (VEHANDLE vhandle, INT32 linenum, INT32 method, double value, INT32 SplineType, UINT32 flags)
int MfvLineThinSet (VEHANDLE vhandle, UINT8 *linelist, INT32 method, double value, INT32 SplineType, UINT32 flags)
int MfvNew (VEHANDLE vhandle, const UNICODE *filename, RVCVECTINFO *vinfo, UINT32 flags)
int MfvOpen (VEHANDLE vhandle, const UNICODE *filename, INT32 inode, RVCVECTINFO *vinfo, UINT32 flags)
ERRVALUE MfvRecoverFromUndo (VEHANDLE vhandle)
ERRVALUE MfvRemoveElementIDTables (VEHANDLE vhandle)
int MfvRemoveExcessNodes (VEHANDLE vhandle, UINT32 flags)
int MfvRemoveExcessNodesEx (VEHANDLE vhandle, UINT8 *bitset, UINT32 flags)
int MfvRemoveIslandSet (VEHANDLE vhandle, double MaxArea, INT32 *NumIslands, INT32 *NumRemoved, UINT32 flags)
void MfvRemoveNotifyCallback (VEHANDLE vhandle, void(*NotifyCB)(MfvAnyCallbackStruct *, void *))
ERRVALUE MfvRemoveStdAttrib (VEHANDLE vhandle)
int MfvReverseLines (VEHANDLE vhandle, INT32 *linelist, INT32 numlines)
int MfvSave (VEHANDLE vhandle, int dfindex, RVCGENINFO *geninfo, UINT32 flags)
UINT32 MfvSetFlags (VEHANDLE vhandle, UINT32 flags)
void MfvSetNotifyCallback (VEHANDLE vhandle, void(*NotifyCB)(MfvAnyCallbackStruct *, void *), void *udata)
int MfvSetQTree (VEHANDLE vhandle, ELEMTYPE ElemType, QTREEHANDLE qtree)
void MfvSetSnapBackAngle (VEHANDLE vhandle, double angle)
void MfvSetSnapObject (VEHANDLE vhandle, const VTKSNAPOBJECT *SnapObject)
void MfvSetSnapOptions (VEHANDLE vhandle, double dist, UINT32 options)
void MfvSetSnapParms (VEHANDLE vhandle, const VTKSNAPPARMS &SnapParms)
int MfvSetTopologyType (VEHANDLE vhandle, UINT16 VectorType)
int MfvSetup (VEHANDLE vhandle, int vid, RVCVECTINFO *vinfo, UINT32 flags)
int MfvSetZValue (VEHANDLE vhandle, ELEMTYPE ElemType, INT32 ElemNum, double zvalue)
int MfvSnapLine (VEHANDLE vhandle, INT32 LineNum)
int MfvSnapLines (VEHANDLE vhandle, UINT8 *SnapSet, UINT8 **linelist, UINT32 flags)
void MfvStop (VEHANDLE vhandle)
int MfvStraightenLine (VEHANDLE vhandle, INT32 linenum)
int MfvUpdate (VEHANDLE vhandle, UINT32 flags)
int MfvUpdateStdAttrib (VEHANDLE vh, UINT32 flags)
int MfvValidateTopology (VEHANDLE vhandle, FILE *errfile, UINT32 flags)
int MfvVerifyStdAttrib (VEHANDLE vhandle)


Define Documentation

#define ELEMLISTALLOC   (64)
 

Definition at line 340 of file vecfuncs.h.

#define MfvCR_Add   0x00000001
 

Definition at line 394 of file vecfuncs.h.

#define MfvCR_AddLineOverlap   0x00000200
 

Overlap detected in MfvAddLine().

Definition at line 403 of file vecfuncs.h.

#define MfvCR_Delete   0x00000002
 

Definition at line 395 of file vecfuncs.h.

#define MfvCR_JoinBegin   0x00000040
 

Definition at line 400 of file vecfuncs.h.

#define MfvCR_JoinEnd   0x00000080
 

Definition at line 401 of file vecfuncs.h.

#define MfvCR_MoveBegin   0x00000010
 

Definition at line 398 of file vecfuncs.h.

#define MfvCR_MoveEnd   0x00000020
 

Definition at line 399 of file vecfuncs.h.

#define MfvCR_NodeLineAdd   0x00004000
 

Number of lines attached to this node has changed, mainly for drawing.

Definition at line 408 of file vecfuncs.h.

#define MfvCR_NodeLineDelete   0x00008000
 

GENERATING_DOXYGEN_OUTPUT.

Definition at line 409 of file vecfuncs.h.

#define MfvCR_NodeToPtBegin   0x00000400
 

Definition at line 404 of file vecfuncs.h.

#define MfvCR_NodeToPtEnd   0x00000800
 

Definition at line 405 of file vecfuncs.h.

#define MfvCR_PtToNodeBegin   0x00001000
 

Definition at line 406 of file vecfuncs.h.

#define MfvCR_PtToNodeEnd   0x00002000
 

Definition at line 407 of file vecfuncs.h.

#define MfvCR_SplitBegin   0x00000004
 

Definition at line 396 of file vecfuncs.h.

#define MfvCR_SplitEnd   0x00000008
 

Definition at line 397 of file vecfuncs.h.

#define MfvCR_ValSplitLine   0x00000100
 

MfvValidateTopology() line splitting callback.

Definition at line 402 of file vecfuncs.h.

#define MFVFLAG_AttemptAllElem   0x00000100
 

In a multi-elem operation, attempt rest of elements if an error occurs.

Definition at line 820 of file vecfuncs.h.

#define MFVFLAG_ForceClipBorder   0x00000200
 

Force the clip routine to add a border.

Definition at line 821 of file vecfuncs.h.

#define MFVFLAG_GoodLeftRight   0x00000010
 

Vector Left/Right fields correct, do not rebuild.

Definition at line 816 of file vecfuncs.h.

#define MFVFLAG_IgnoreBadMinMax   0x00001000
 

Ignore bad min/max values (Should be used only by validate topo).

Definition at line 794 of file vecfuncs.h.

#define MFVFLAG_IsContour   0x00000008
 

Vector data is a contour set.

Definition at line 785 of file vecfuncs.h.

#define MFVFLAG_KeepAttachedLabels   0x00000004
 

Keep labels that become unattached.

Definition at line 784 of file vecfuncs.h.

#define MFVFLAG_NoChangeTopoType   0x00020000
 

Do not change / fix vector topology type.

Definition at line 799 of file vecfuncs.h.

#define MFVFLAG_NoCheckDatabase   0x00000040
 

Do not check database attributes in removing excess nodes.

Definition at line 818 of file vecfuncs.h.

#define MFVFLAG_NoCheckHyper   0x00000020
 

Do not check hyper links in removing excess nodes.

Definition at line 817 of file vecfuncs.h.

#define MFVFLAG_NoClipBorder   0x00000400
 

Force the clip routine to not add any border.

Definition at line 822 of file vecfuncs.h.

#define MFVFLAG_NoConvIfElemID   0x00000020
 

Do not convert node to point if element ID attachment only.

Definition at line 787 of file vecfuncs.h.

#define MFVFLAG_NoCreateElemID   0x00000800
 

Do not create element ID tables.

Definition at line 793 of file vecfuncs.h.

#define MFVFLAG_NoCreatePolyID   0x00010000
 

Do not create polygon element ID tables.

Definition at line 798 of file vecfuncs.h.

#define MFVFLAG_NoCreateStyle   0x00000400
 

Do not create a style object.

Definition at line 792 of file vecfuncs.h.

#define MFVFLAG_NoCreateTables   0x00000200
 

Do not create databases.

Definition at line 791 of file vecfuncs.h.

#define MFVFLAG_NoDatabase   0x00000040
 

Do not maintain databases.

Definition at line 788 of file vecfuncs.h.

#define MFVFLAG_NoDBStatTable   0x00000002
 

Do not update Database Statistics tables.

Definition at line 783 of file vecfuncs.h.

#define MFVFLAG_NoElemQTree   0x1F000000
 

Do not generate an element qtree.

Definition at line 806 of file vecfuncs.h.

#define MFVFLAG_NoHyper   0x00000100
 

Do not update hyper object.

Definition at line 790 of file vecfuncs.h.

#define MFVFLAG_NoLabelQTree   0x08000000
 

Do not generate a label qtree.

Definition at line 804 of file vecfuncs.h.

#define MFVFLAG_NoLineQTree   0x02000000
 

Do not generate a line qtree.

Definition at line 802 of file vecfuncs.h.

#define MFVFLAG_NoNodeQTree   0x10000000
 

Do not generate a node qtree.

Definition at line 805 of file vecfuncs.h.

#define MFVFLAG_NoPointQTree   0x04000000
 

Do not generate a point qtree.

Definition at line 803 of file vecfuncs.h.

#define MFVFLAG_NoPolyQTree   0x01000000
 

Do not generate a polygon qtree.

Definition at line 801 of file vecfuncs.h.

#define MFVFLAG_NoQtree   0x00000001
 

Do not maintain qtrees.

Definition at line 782 of file vecfuncs.h.

#define MFVFLAG_NoRemoveNodes   0x00000080
 

Do not execute MfvRemoveExcessNodes() in topology validation.

Definition at line 819 of file vecfuncs.h.

#define MFVFLAG_NoSaveQTree   0x00004000
 

Do not save search tree in MfvClose() or MfvStop().

Definition at line 796 of file vecfuncs.h.

#define MFVFLAG_NoStatusText   0x00008000
 

Do not show status text.

Definition at line 797 of file vecfuncs.h.

#define MFVFLAG_NoStdAttrib   0x00001000
 

Avoid standard attribute rebuild in validate.

Definition at line 824 of file vecfuncs.h.

#define MFVFLAG_NoStyle   0x00000010
 

Do not open/create a style table.

Definition at line 786 of file vecfuncs.h.

#define MFVFLAG_NoValidateNodes   0x00002000
 

Do not execute _MfvValidateNodes in MfvOpen().

Definition at line 795 of file vecfuncs.h.

#define MFVFLAG_NoValTopoType   0x00004000
 

Do not change / fix vector topology type.

Definition at line 826 of file vecfuncs.h.

#define MFVFLAG_OnlyClipLines   0x00000800
 

Do not bother with the points and labels.

Definition at line 823 of file vecfuncs.h.

#define MFVFLAG_RebuildIslands   0x00000002
 

Force rebuild polygon islands (Validate Topo).

Definition at line 813 of file vecfuncs.h.

#define MFVFLAG_RebuildNodeLL   0x00000004
 

Force rebuild node line lists (Validate Topo).

Definition at line 814 of file vecfuncs.h.

#define MFVFLAG_RebuildPolys   0x00000001
 

Force rebuild polygons (Validate Topo).

Definition at line 812 of file vecfuncs.h.

#define MFVFLAG_RemExNodesDelLine   0x00000080
 

Delete excess nodes when deleting lines.

Definition at line 789 of file vecfuncs.h.

#define MFVFLAG_RemUnusedDBRec   0x00002000
 

Removed unattached database records.

Definition at line 825 of file vecfuncs.h.

#define MFVLINE_AverageZValue   0x00000001
 

Average line z coordinates when truncating.

Definition at line 840 of file vecfuncs.h.

#define MFVLINE_SetMaxPoints   0x00000002
 

Set max points for toolkit in MfvLineSplitAtMaxPoints.

Definition at line 841 of file vecfuncs.h.

#define MFVPOINT_IsNodePoint   0x00000001
 

Point to modify is a node point.

Definition at line 857 of file vecfuncs.h.

#define MFVPOLY_LongLineDelete   0x00000001
 

Delete longest line for deleting polygon.

Definition at line 847 of file vecfuncs.h.

#define MFVPOLY_NoCombineAttrib   0x00000010
 

Do not combine attributes from the deleted polygon to the new merged polygon.

Definition at line 851 of file vecfuncs.h.

#define MFVPOLY_NoDeleteSpurs   0x00000002
 

Do not delete polygon spurs when deleting polygons.

Definition at line 848 of file vecfuncs.h.

#define MFVPOLY_PolyCntCollapse   0x00000004
 

Collapse polygon to its centroid method of deleting polygons.

Definition at line 849 of file vecfuncs.h.

#define MFVPOLY_RemoveAllIslands   0x00000008
 

Remove all islands.

Definition at line 850 of file vecfuncs.h.

#define MFVSAVE_Optimize   0x00000004
 

Insert vector optimization code.

Definition at line 834 of file vecfuncs.h.

#define MFVSAVE_RemExNodes   0x00000001
 

Remove excess nodes on destination object.

Definition at line 832 of file vecfuncs.h.

#define MFVSAVE_RemExRecords   0x00000002
 

Remove excess database records on destination object.

Definition at line 833 of file vecfuncs.h.

#define MFVSNAP_AddVertexSnap   0x00000000
 

Definition at line 583 of file vecfuncs.h.

#define MFVSNAP_BothEnds   0x00000000
 

Definition at line 591 of file vecfuncs.h.

#define MFVSNAP_ContinueSnap   0x00000020
 

Definition at line 585 of file vecfuncs.h.

#define MFVSNAP_DirectSnap   0x00000010
 

Definition at line 584 of file vecfuncs.h.

#define MFVSNAP_DontCrossLines   0x00000200
 

Definition at line 588 of file vecfuncs.h.

#define MFVSNAP_DontSnapToSelf   0x00000400
 

Definition at line 589 of file vecfuncs.h.

#define MFVSNAP_ElemMask   0x0000000F
 

Definition at line 574 of file vecfuncs.h.

#define MFVSNAP_EndPtOnly   0x00001000
 

Mutually exclusive with MFVSNAP_StartPtOnly.

Definition at line 593 of file vecfuncs.h.

#define MFVSNAP_RemOvershoots   0x00000100
 

Definition at line 587 of file vecfuncs.h.

#define MFVSNAP_SnapMask   0x000000F0
 

Definition at line 582 of file vecfuncs.h.

#define MFVSNAP_StartPtOnly   0x00000800
 

Mutually exclusive with MFVSNAP_EndPtOnly.

Definition at line 592 of file vecfuncs.h.

#define MFVSNAP_ToAnyElement   0x00000000
 

Definition at line 575 of file vecfuncs.h.

#define MFVSNAP_ToLine   0x00000001
 

Definition at line 576 of file vecfuncs.h.

#define MFVSNAP_ToNode   0x00000003
 

Definition at line 578 of file vecfuncs.h.

#define MFVSNAP_ToNothing   0x00000004
 

Definition at line 579 of file vecfuncs.h.

#define MFVSNAP_ToPoint   0x00000002
 

Definition at line 577 of file vecfuncs.h.

#define MFVSNAP_ToVertex   0x00000005
 

Definition at line 580 of file vecfuncs.h.

#define MFVTOPO_DontValidateZ   0x00000008
 

Do not validate Z values.

Definition at line 815 of file vecfuncs.h.

#define STATLISTALLOC   (64)
 

Definition at line 341 of file vecfuncs.h.


Typedef Documentation

typedef void* VEHANDLE
 

Definition at line 377 of file vecfuncs.h.


Function Documentation

int MfvAddLabel VEHANDLE  vhandl,
RVCVECTLABEL vlabel
 

Add a label to a vector.

Returns:
Error code or 0 if succussful. Description of RVCVECTLABEL: typedef struct _VECTLLDATA { RVCLEADERLINE LeaderLine; Leader Line structure RVCLABELSTYLE LStyleIndex; Leader Style structure void *LeaderPts; Leader Line point buffer LONG NumLeaderPts; Number of leader line points } VECTLEADERINFO; Vector Leader Line Data typedef struct _VECTLABEL { RVCLABELDESC desc; Label descrition structure void *LabelStr; String or query LONG LabelStrSize; Size of label string void *BasePts; Array of label base points, 2D or 3D LONG NumBasePts; Number of base points in array VECTLEADERINFO *LLines; Leader Line Data buffer LONG NumLLines; Number of leader lines allocated int PointSize; Size of the points in bytes } RVCVECTLABEL;
Parameters:
vhandl  Handle created by MfvInit()
vlabel  Pointer to label structure

int MfvAddLine VEHANDLE  vhandle,
DPOLYGON dpoly
 

Add a line to a vector.

Returns:
Error code or 0 if successful This function will resolve all topological issues that occur when adding this line. This function assumes that the point array is large enough to handle adding at least two more points for snapping purposes.
Parameters:
vhandle  Handle created by MfvInit()
dpoly  Pointer to structure containing the line coordinates

int MfvAddLine3D VEHANDLE  vhandle,
DPOLYLINE3D dpoly
 

API call to add a 3D line to a vector object.

Parameters:
vhandle  Handle created by MfvInit()
dpoly  Pointer to structure containing the line coordinates

int MfvAddLineSnapPoints VEHANDLE  vhandle,
INT32  LineNum,
DPOLYGON dpoly
 

Append points to the end of a vector line according to snap options and return the line.

Returns:
Error if < 0 The 'dpoly.point' field is allocated in this function, it must be freed by the caller. The dpoly.numpts field is the number of points after snapping. The MfvAddSnapPoints() function will not work for generating the snap points because that function assumes that the line being passed does not exist in the vector.
Parameters:
vhandle  Handle created by MfvInit()
LineNum  The vector line to snap and return
dpoly  Pointer to structure to return the snapped line in

int MfvAddNode VEHANDLE  vhandle,
DPOINT2D point
 

Add a node to a vector splitting the line if necessary.

Returns:
Error code or 0 if successful This routine may or may not add the node. It depends on whether or not the routine finds a line close enough to split. If it finds a node that is close enough and snap to node is enabled, then it will not create the node. The actual place of the node will be returned in the point parameter.
Parameters:
vhandle  Handle created by MfvInit()
point  Place to try to add the node

int MfvAddPoint VEHANDLE  vhandle,
RVCVECTPOINT point
 

Add a point to a vector.

Returns:
Error code or 0 if successful
Parameters:
vhandle  Handle created by MfvInit()
point  Point coordinate structure

int MfvAddPolygon VEHANDLE  vhandle,
DPOLYGON dpoly
 

Add a polygon to a vector.

Returns:
Error code or 0 if successful This function calls MfvAddLine() to add the polygon. The node that exists at the closure of the polygon is tested and removed if possible using MfvDeleteNode().
Parameters:
vhandle  Handle created by MfvInit()
dpoly  Pointer to structure containing the polygon coordinates

int MfvAddSnapPoints VEHANDLE  vhandle,
DPOLYGON dpoly,
bool &  SnappedStart,
bool &  SnappedEnd
 

Append points to the end of a non vector line according to snap options.

Returns:
Error code or 0 if successful
Parameters:
vhandle  Handle created by MfvInit()
dpoly  Line to append snap points to
SnappedStart  Set to 'true' if start point can be snapped
SnappedEnd  Set to 'true' if end point can be snapped