rvcqtree.h File Reference

<mi32/rvcqtree.h> RVC Definitions Header File for Qtree subobjects More...

#include <mi32/rvcdefns.h>
#include <mi32/elemtype.h>

Include dependency graph for rvcqtree.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  QTREEITEM
struct  RVCQTREEINFO

Defines

#define MFQTREE_LoadInMemory   0x00008000
#define MfQTreeClose(_qth, _info)   _MfQTreeClose((_qth),(_info),sizeof(RVCQTREEINFO))
#define MfQTreeOpen(_fd, _oi, _info, _qth, _fl)   _MfQTreeOpen((_fd),(_oi),(_info),sizeof(RVCQTREEINFO),(_qth),(_fl))
#define MfQTreeSave(_fd, _oi, _info, _qth)   _MfQTreeSave((_fd),(_oi),(_info),sizeof(RVCQTREEINFO),(_qth))
#define RVCQTREE_Is3D   0x00000001

Typedefs

typedef void * QTREEHANDLE

Functions

RVCAPPLIBEXPORT int MfQTreeAdd (QTREEHANDLE qth, QTREEITEM *item)
int MfQTreeCreate (DPOINT3D_OLD *min, DPOINT3D_OLD *max, INT32 items, INT32 ElemType, QTREEHANDLE *qth, UINT32 flags)
RVCAPPLIBEXPORT int MfQTreeCreate (DPOINT3D *min, DPOINT3D *max, INT32 items, INT32 ElemType, QTREEHANDLE *qth, UINT32 flags)
RVCAPPLIBEXPORT int MfQTreeDel (QTREEHANDLE qth, QTREEITEM *item)
RVCAPPLIBEXPORT int MfQTreeElemType (QTREEHANDLE qth)
RVCAPPLIBEXPORT int MfQTreeGetItemRect (QTREEHANDLE qth, INT32 itemnum, DRECT2D *rect)
RVCAPPLIBEXPORT ERRVALUE MfQTreeInit (int findex, RVCINODENUM inode, ELEMTYPE ElemType, QTREEHANDLE *qth, UINT32 flags)
RVCAPPLIBEXPORT int MfQTreeInMemory (QTREEHANDLE qth)
RVCAPPLIBEXPORT int MfQTreeIsValid (QTREEHANDLE qth)
RVCAPPLIBEXPORT int MfQTreeNeedRebuilt (QTREEHANDLE qth)
RVCAPPLIBEXPORT INT32 MfQTreeSearch (QTREEHANDLE qth, const DRECT2D *rect, UINT8 **aset, INT32 **list)
RVCAPPLIBEXPORT void MfQTreeSortItemsByRectArea (QTREEHANDLE qth, INT32 *items, INT32 numitems)
RVCAPPLIBEXPORT ERRVALUE MfQTreeValidate (QTREEHANDLE qth, INT32 NumElements)
RVCAPPLIBEXPORT ERRVALUE MfQTreeVerify (QTREEHANDLE qth, const QTREEITEM &item)
int MfReadQTreeHeader (int fhandle, RVCINODENUM inode, RVCQTREEINFO *info)


Detailed Description

<mi32/rvcqtree.h> RVC Definitions Header File for Qtree subobjects

Definition in file rvcqtree.h.


Define Documentation

#define MFQTREE_LoadInMemory   0x00008000
 

Definition at line 150 of file rvcqtree.h.

#define MfQTreeClose _qth,
_info   )     _MfQTreeClose((_qth),(_info),sizeof(RVCQTREEINFO))
 

Definition at line 205 of file rvcqtree.h.

#define MfQTreeOpen _fd,
_oi,
_info,
_qth,
_fl   )     _MfQTreeOpen((_fd),(_oi),(_info),sizeof(RVCQTREEINFO),(_qth),(_fl))
 

Definition at line 207 of file rvcqtree.h.

#define MfQTreeSave _fd,
_oi,
_info,
_qth   )     _MfQTreeSave((_fd),(_oi),(_info),sizeof(RVCQTREEINFO),(_qth))
 

Definition at line 206 of file rvcqtree.h.

#define RVCQTREE_Is3D   0x00000001
 

Definition at line 147 of file rvcqtree.h.


Typedef Documentation

typedef void* QTREEHANDLE
 

Definition at line 190 of file rvcqtree.h.


Function Documentation

RVCAPPLIBEXPORT int MfQTreeAdd QTREEHANDLE  qth,
QTREEITEM item
 

Add an element to the search tree.

This function only works on an in-memory search tree.

Parameters:
qth  Search tree handle
item  Structure defining extents and element position

int MfQTreeCreate DPOINT3D_OLD min,
DPOINT3D_OLD max,
INT32  items,
INT32  ElemType,
QTREEHANDLE qth,
UINT32  flags
[inline]
 

Create an in-memory search tree with no elements.

Flags: RVCQTREE_Is3D Create a 3D search tree - future expansion

This function can be used to create a search tree from scratch, or clear an existing search tree. The variable 'qth' can be either a pointer to NULL or a pointer to a QTREEHANDLE. The handle is preserved if 'qth' is not NULL, making possible the ability to share the search tree.

Definition at line 333 of file rvcqtree.h.

RVCAPPLIBEXPORT int MfQTreeCreate DPOINT3D min,
DPOINT3D max,
INT32  items,
INT32  ElemType,
QTREEHANDLE qth,
UINT32  flags
 

Create an in-memory search tree with no elements.

Flags: RVCQTREE_Is3D Create a 3D search tree - future expansion

This function can be used to create a search tree from scratch, or clear an existing search tree. The variable 'qth' can be either a pointer to NULL or a pointer to a QTREEHANDLE. The handle is preserved if 'qth' is not NULL, making possible the ability to share the search tree.

Parameters:
min  Minimum possible extents for object
max  Maximum possible extents for object
items  Initial number of items to allocate in search tree
ElemType  ELEMTYPE_...
qth  Search tree handle RETURNED
flags  Flags

RVCAPPLIBEXPORT int MfQTreeDel QTREEHANDLE  qth,
QTREEITEM item
 

Remove an element from the search tree.

This function only works on an in-memory search tree.

Parameters:
qth  Search tree handle
item  Structure defining extents and element position

RVCAPPLIBEXPORT int MfQTreeElemType QTREEHANDLE  qth  ) 
 

Return Element type of the QTree handle.

RVCAPPLIBEXPORT int MfQTreeGetItemRect QTREEHANDLE  qth,
INT32  itemnum,
DRECT2D rect
 

Return extents of an element stored in the search tree.

Parameters:
qth  Search tree handle
itemnum  Item number to return extents on
rect  Extents of item RETURNED

RVCAPPLIBEXPORT ERRVALUE MfQTreeInit int  findex,
RVCINODENUM  inode,
ELEMTYPE  ElemType,
QTREEHANDLE qth,
UINT32  flags
 

Generate a search tree from an object (Vector/CAD/TIN).

Flags: MFQTREE_LoadInMemory Load search tree into memory

This function generates a search tree from existing elements in the object requested. If this function finds an existing search tree subobject, it will determine its validity and if valid, it will access or load the existing search tree. If it creates the search tree, it will attempt to save the search tree under the existing object and access from that unless MFQTREE_LoadInMemory is passed. If it cannot save the object, the search tree will be an in-memory tree.

Parameters:
findex  RVC file handle
inode  Inode of Vector/CAD/TIN object
ElemType  ELEMTYPE_...
qth  Search tree handle RETURNED
flags  Flags

RVCAPPLIBEXPORT int MfQTreeInMemory QTREEHANDLE  qth  ) 
 

Determine if the search tree is in memory or on file.

Returns:
1 if search tree is in memory, 0 if not.
Parameters:
qth  Search tree handle

RVCAPPLIBEXPORT int MfQTreeIsValid QTREEHANDLE  qth  ) 
 

Return if qtree handle is valid.

RVCAPPLIBEXPORT int MfQTreeNeedRebuilt QTREEHANDLE  qth  ) 
 

GENERATING_DOXYGEN_OUTPUT.

RVCAPPLIBEXPORT INT32 MfQTreeSearch QTREEHANDLE  qth,
const DRECT2D rect,
UINT8 **  aset,
INT32 **  list
 

Find elements that fall within a region.

Returns:
Number of elements found or Error code.
If either 'set' or 'list' is not NULL, you will be required to MmFree() the memory.
Parameters:
qth  Search tree handle
rect  Extents to search with
aset  Bit array of elements that fall within the extents (can be NULL)
list  Array of element numbers that fall within the extents (can be NULL)

RVCAPPLIBEXPORT void MfQTreeSortItemsByRectArea QTREEHANDLE  qth,
INT32 items,
INT32  numitems
 

Sort a list of elements according to the area of the extents.

Parameters:
qth  Search tree handle
items  Array of element numbers to sort
numitems  Number of elements in the array

RVCAPPLIBEXPORT ERRVALUE MfQTreeValidate QTREEHANDLE  qth,
INT32  NumElements
 

INC_MI32_RVCQTREE_H.

Returns:
EProgramError if number of elements in the search tree is not equal to the number of elements expected

RVCAPPLIBEXPORT ERRVALUE MfQTreeVerify QTREEHANDLE  qth,
const QTREEITEM item
 

Verify that an element is in the search tree in the right place Must be an in-memory search tree to work.

Returns:
EProgramError if element is not in the right place

int MfReadQTreeHeader int  fhandle,
RVCINODENUM  inode,
RVCQTREEINFO info
[inline]
 

Read the header information for the qtree object.

Definition at line 197 of file rvcqtree.h.


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