RVC::DBASE_ELEMENT Class Reference

Database object associated with specific geospatial element type. More...

#include <rvc/dbelem.h>

Inheritance diagram for RVC::DBASE_ELEMENT:
Inheritance graph
[legend]

List of all members.

Classes

class  ATTACHMENTITEM
class  GETOBJFILTER_ISSELECTABLE
 Database object selection filter to select either a database object, which could be a subobject of a geospatial object. More...

Public Types

typedef SIMPLE_ARRAY
< ATTACHMENTITEM
ATTACHMENTARRAY
typedef SIMPLE_ARRAY< DBLISTELMTDBLIST

Public Member Functions

 DBASE_ELEMENT (const RVC::DBASE_ELEMENT &rhs)
 DBASE_ELEMENT (OBJTYPE ObjTypeParent, ELEMTYPE ElemType)
virtual ~DBASE_ELEMENT ()
ERRVALUE AddAttachment (const RVC::ELEMENT &elem, const RVC::DBASE_ELEMENT::ATTACHMENTITEM &item)
ERRVALUE AddAttachments (const RVC::ELEMENT &elem, const RVC::DBASE_ELEMENT::ATTACHMENTARRAY &items)
INT32 AppendDBList (INT32 ElemNum, const DBLISTELMT &item)
INT32 AppendDBList (INT32 ElemNum, const DBLIST &DBList)
ERRVALUE CleanDBList ()
bool CompareElementRecords (INT32 LhsElemNum, const DBASE_ELEMENT &rhs, INT32 RhsElemNum, const SIMPLE_ARRAY< INT32 > &TableMatch, double threshhold=0.0) const
ERRVALUE ConvertStyleAssignTableTo (DBASE_ELEMENT &DestDBaseObj)
ERRVALUE CopyDatabaseTo (RVC::GEOSPATIAL &DestParentObj, RVC::DBASE_ELEMENT &DestDBaseObj, const DBASE::ELEMTRANSLIST &TransList, COPYFLAG flags)
ERRVALUE CopyDatabaseTo (RVC::GEOSPATIAL &DestParentObj, const SIMPLE_ARRAY< INT32 > &TransList, COPYFLAG flags)
int GetAttachedElements (const RVC::DBTABLE::RECORD &record, SIMPLE_ARRAY< RVC::ELEMENT > &ElementList, ELEMTYPE ElemType=ELEMTYPE_Empty) const
int GetAttachedElements (const RVC::DBTABLE::RECORD &record, SIMPLE_ARRAY< INT32 > &ElementList, ELEMTYPE ElemType=ELEMTYPE_Empty) const
ERRVALUE GetAttachedRecordList (INT32 ElemNum, DBLIST &DBList, FINDFLAG FindFlag=FINDFLAG_AllAttached, INT32 BaseTableNum=-1) const
INT32 GetAttachedRecordNumbers (const RVC::ELEMENT &element, const RVC::DBTABLE &table, SIMPLE_ARRAY< INT32 > &recordnums, FINDFLAG findflags=FINDFLAG_AllAttached) const
INT32 GetAttachments (const RVC::ELEMENT &elem, RVC::DBASE_ELEMENT::ATTACHMENTARRAY &items) const
INT32 GetDBListItemSize (INT32 ItemNum, bool ExcludeInternal=false) const
INT32 GetDBListMaxItemSize () const
INT32 GetDBListNumElements () const
ELEMTYPE GetElemType () const
bool HasAttachedElements (const RVC::DBTABLE::RECORD &record, ELEMTYPE ElemType=ELEMTYPE_All) const
ERRVALUE JoinDatabaseTo (RVC::DBASE_ELEMENT &DestDatabase, const DBASE::ELEMTRANSLIST &TransList, RVC::DBASE::COPYFLAG CopyFlags=RVC::DBASE::COPYFLAG_None, RVC::DBASE::JOINFLAGS JoinFlags=RVC::DBASE::JOINFLAG_None, INT32 *pNextElemID=0, ELEMTYPE SrcElemType=ELEMTYPE_Empty, ELEMTYPE DestElemType=ELEMTYPE_Empty)
ERRVALUE JoinDatabaseTo (RVC::DBASE_ELEMENT &DestDatabase, const SIMPLE_ARRAY< INT32 > &TransList, RVC::DBASE::COPYFLAG CopyFlags=RVC::DBASE::COPYFLAG_None, RVC::DBASE::JOINFLAGS JoinFlags=RVC::DBASE::JOINFLAG_None, INT32 *pNextElemID=0, ELEMTYPE SrcElemType=ELEMTYPE_Empty, ELEMTYPE DestElemType=ELEMTYPE_Empty)
ERRVALUE OpenAsSubobject (const RVC::GEOSPATIAL &parent, OPENMODE mode=OPENMODE_Read, MDLGPARENT dlgparent=0, const CREDENTIALS *pCredentials=0)
ERRVALUE OpenAsSubobject (const RVC::OBJITEM &ParentObjItem, OPENMODE mode=OPENMODE_Read, MDLGPARENT dlgparent=0, const CREDENTIALS *pCredentials=0)
RVC::DBASE_ELEMENToperator= (const RVC::DBASE_ELEMENT &rhs)
INT32 ReadDBList (INT32 ElemNum, DBLIST &DBList) const
ERRVALUE RemoveAttachment (const RVC::ELEMENT &elem, const RVC::DBASE_ELEMENT::ATTACHMENTITEM &item)
ERRVALUE RemoveAttachments (const RVC::ELEMENT &elem, const RVC::DBASE_ELEMENT::ATTACHMENTARRAY &items)
ERRVALUE ResizeDBList (INT32 NumItems)
ERRVALUE ResizeDBListItem (INT32 ElemNum, INT32 NumItems)
ERRVALUE SwapDBList (INT32 Item1, INT32 Item2)
INT32 UnattachDBList (INT32 ElemNum, const DBLIST &DBList)
ERRVALUE UpdateDBListNumElements (INT32 NumElements)
INT32 WriteDBList (INT32 ElemNum, const DBLIST &DBList)

Static Public Member Functions

static ELEMTYPE GetDftElemType (RVC::OBJTYPE ObjType)

Detailed Description

Database object associated with specific geospatial element type.

Provides methods to retrieve and manage list of records attached to each element.


Member Typedef Documentation


Constructor & Destructor Documentation

RVC::DBASE_ELEMENT::DBASE_ELEMENT ( OBJTYPE  ObjTypeParent,
ELEMTYPE  ElemType 
)

Construct using parent object type and element type.

RVC::DBASE_ELEMENT::DBASE_ELEMENT ( const RVC::DBASE_ELEMENT rhs  ) 

Copy constructor.

virtual RVC::DBASE_ELEMENT::~DBASE_ELEMENT (  )  [virtual]

Destructor.


Member Function Documentation

ERRVALUE RVC::DBASE_ELEMENT::AddAttachment ( const RVC::ELEMENT elem,
const RVC::DBASE_ELEMENT::ATTACHMENTITEM item 
)

Attach the record to the element.

ERRVALUE RVC::DBASE_ELEMENT::AddAttachments ( const RVC::ELEMENT elem,
const RVC::DBASE_ELEMENT::ATTACHMENTARRAY items 
)

Attach the array of records to the element.

INT32 RVC::DBASE_ELEMENT::AppendDBList ( INT32  ElemNum,
const DBLISTELMT item 
)

Append one list entry to this element.

This method will remove duplicates.

INT32 RVC::DBASE_ELEMENT::AppendDBList ( INT32  ElemNum,
const DBLIST DBList 
)

Append list entries to this element.

This method will remove duplicates.

ERRVALUE RVC::DBASE_ELEMENT::CleanDBList (  ) 

Remove invalid entries from the element database attachment list.

bool RVC::DBASE_ELEMENT::CompareElementRecords ( INT32  LhsElemNum,
const DBASE_ELEMENT rhs,
INT32  RhsElemNum,
const SIMPLE_ARRAY< INT32 > &  TableMatch,
double  threshhold = 0.0 
) const

Compare attached element records from two databases to determine if the element attachmets are to the same records.

Returns:
'True' if they are, false if not.
Parameters:
LhsElemNum Left side element number
rhs Other database to compare to
RhsElemNum Right side element number
TableMatch Table translation array from Lhs database to Rhs database, See DBASE::FindTableMatches()
ERRVALUE RVC::DBASE_ELEMENT::ConvertStyleAssignTableTo ( DBASE_ELEMENT DestDBaseObj  ) 

Convert style assignment table from 'this' to 'DestDBaseObj' based on the database object types.

Parameters:
DestDBaseObj Must be created outside this function and be open
ERRVALUE RVC::DBASE_ELEMENT::CopyDatabaseTo ( RVC::GEOSPATIAL DestParentObj,
RVC::DBASE_ELEMENT DestDBaseObj,
const DBASE::ELEMTRANSLIST TransList,
COPYFLAG  flags 
)

Copy a database from the source to under the destination object using an element translation list.

Parameters:
DestDBaseObj To be filled in with the new database object
TransList Element translation list
ERRVALUE RVC::DBASE_ELEMENT::CopyDatabaseTo ( RVC::GEOSPATIAL DestParentObj,
const SIMPLE_ARRAY< INT32 > &  TransList,
COPYFLAG  flags 
)

Copy a database from the source to under the destination object using an element translation list.

int RVC::DBASE_ELEMENT::GetAttachedElements ( const RVC::DBTABLE::RECORD record,
SIMPLE_ARRAY< RVC::ELEMENT > &  ElementList,
ELEMTYPE  ElemType = ELEMTYPE_Empty 
) const

Get the list of attached elements to a specific record.

Parameters:
record Record to find attached elements of
ElemType Defaults to DBASE_ELEMENT ElemType
int RVC::DBASE_ELEMENT::GetAttachedElements ( const RVC::DBTABLE::RECORD record,
SIMPLE_ARRAY< INT32 > &  ElementList,
ELEMTYPE  ElemType = ELEMTYPE_Empty 
) const

Get the list of attached elements to a specific record.

Parameters:
record Record to find attached elements of
ElemType Defaults to DBASE_ELEMENT ElemType
ERRVALUE RVC::DBASE_ELEMENT::GetAttachedRecordList ( INT32  ElemNum,
DBLIST DBList,
FINDFLAG  FindFlag = FINDFLAG_AllAttached,
INT32  BaseTableNum = -1 
) const

Get records attached to the specified element for all tables.

Parameters:
DBList List of attachments allocated and returned
INT32 RVC::DBASE_ELEMENT::GetAttachedRecordNumbers ( const RVC::ELEMENT element,
const RVC::DBTABLE table,
SIMPLE_ARRAY< INT32 > &  recordnums,
FINDFLAG  findflags = FINDFLAG_AllAttached 
) const

Get the record numbers attached to the element for this table.

Returns:
Number of records attached or <0 if error
Parameters:
element Element
table Table to get attached records for
recordnums Array of record numbers returned
INT32 RVC::DBASE_ELEMENT::GetAttachments ( const RVC::ELEMENT elem,
RVC::DBASE_ELEMENT::ATTACHMENTARRAY items 
) const

Get array of attachments to this element.

INT32 RVC::DBASE_ELEMENT::GetDBListItemSize ( INT32  ItemNum,
bool  ExcludeInternal = false 
) const

Get the size of an individual entries for an element database attachment list.

Returns:
Number of items for an individual DBList entry
INT32 RVC::DBASE_ELEMENT::GetDBListMaxItemSize (  )  const

Get the maximum number of entries for an element database attachment list.

Returns:
Maximum number of DBList entries
INT32 RVC::DBASE_ELEMENT::GetDBListNumElements (  )  const

Get the number of element database attachment list entries.

Returns:
Number of DBList entries
static ELEMTYPE RVC::DBASE_ELEMENT::GetDftElemType ( RVC::OBJTYPE  ObjType  )  [static]

Get the default element type based on the database object type.

Returns:
The default element type for the object type, or ELEMTYPE_Empty if cannot match
ELEMTYPE RVC::DBASE_ELEMENT::GetElemType (  )  const [inline]

Get element type database is associated with.

bool RVC::DBASE_ELEMENT::HasAttachedElements ( const RVC::DBTABLE::RECORD record,
ELEMTYPE  ElemType = ELEMTYPE_All 
) const

Determine if the given record has any elements attached.

Returns:
'True' if elements are attached, 'false' if not
ERRVALUE RVC::DBASE_ELEMENT::JoinDatabaseTo ( RVC::DBASE_ELEMENT DestDatabase,
const DBASE::ELEMTRANSLIST TransList,
RVC::DBASE::COPYFLAG  CopyFlags = RVC::DBASE::COPYFLAG_None,
RVC::DBASE::JOINFLAGS  JoinFlags = RVC::DBASE::JOINFLAG_None,
INT32 pNextElemID = 0,
ELEMTYPE  SrcElemType = ELEMTYPE_Empty,
ELEMTYPE  DestElemType = ELEMTYPE_Empty 
)

Join (copy) tables from this database to another database.

Parameters:
SrcElemType Pointer to INT32 return next ElemID in
DestElemType Will default to the default element type of the source database Will default to the default element type of the destination database
ERRVALUE RVC::DBASE_ELEMENT::JoinDatabaseTo ( RVC::DBASE_ELEMENT DestDatabase,
const SIMPLE_ARRAY< INT32 > &  TransList,
RVC::DBASE::COPYFLAG  CopyFlags = RVC::DBASE::COPYFLAG_None,
RVC::DBASE::JOINFLAGS  JoinFlags = RVC::DBASE::JOINFLAG_None,
INT32 pNextElemID = 0,
ELEMTYPE  SrcElemType = ELEMTYPE_Empty,
ELEMTYPE  DestElemType = ELEMTYPE_Empty 
)

Join (copy) tables from this database to another database.

Parameters:
SrcElemType Pointer to INT32 return next ElemID in
DestElemType Will default to the default element type of the source database Will default to the default element type of the destination database
ERRVALUE RVC::DBASE_ELEMENT::OpenAsSubobject ( const RVC::GEOSPATIAL parent,
OPENMODE  mode = OPENMODE_Read,
MDLGPARENT  dlgparent = 0,
const CREDENTIALS pCredentials = 0 
)

Open the database. If a database object does not exist, make one.

Parameters:
parent Parent object to find and/or create database under
dlgparent Parent dialog handle, 0 for default handle
pCredentials User credentials passed in, NULL for default behavior
ERRVALUE RVC::DBASE_ELEMENT::OpenAsSubobject ( const RVC::OBJITEM ParentObjItem,
OPENMODE  mode = OPENMODE_Read,
MDLGPARENT  dlgparent = 0,
const CREDENTIALS pCredentials = 0 
)

Open the database. If a database object does not exist, make one.

Parameters:
ParentObjItem Parent object to find and/or create database under
dlgparent Parent dialog handle, 0 for default handle
pCredentials User credentials passed in, NULL for default behavior
RVC::DBASE_ELEMENT& RVC::DBASE_ELEMENT::operator= ( const RVC::DBASE_ELEMENT rhs  ) 

Assignment.

Reimplemented from RVC::DBASE.

Reimplemented in RVC::DBASE_NODE, and RVC::DBASE_TINNODE.

INT32 RVC::DBASE_ELEMENT::ReadDBList ( INT32  ElemNum,
DBLIST DBList 
) const

Read an individual entry from the element database attachment list.

Returns:
Number of entries read
ERRVALUE RVC::DBASE_ELEMENT::RemoveAttachment ( const RVC::ELEMENT elem,
const RVC::DBASE_ELEMENT::ATTACHMENTITEM item 
)

Remove the record attachment to the element.

ERRVALUE RVC::DBASE_ELEMENT::RemoveAttachments ( const RVC::ELEMENT elem,
const RVC::DBASE_ELEMENT::ATTACHMENTARRAY items 
)

Remove the array of record attachments to the element.

ERRVALUE RVC::DBASE_ELEMENT::ResizeDBList ( INT32  NumItems  ) 

Resize the number of entries in the element database attachment list.

ERRVALUE RVC::DBASE_ELEMENT::ResizeDBListItem ( INT32  ElemNum,
INT32  NumItems 
)

Resize an individual entry from the element database attachment list.

ERRVALUE RVC::DBASE_ELEMENT::SwapDBList ( INT32  Item1,
INT32  Item2 
)

Swap individual entries from the element database attachment list.

INT32 RVC::DBASE_ELEMENT::UnattachDBList ( INT32  ElemNum,
const DBLIST DBList 
)

Unattach items from an individual entry from the element database attachment list.

Returns:
Number of entries unattached
ERRVALUE RVC::DBASE_ELEMENT::UpdateDBListNumElements ( INT32  NumElements  ) 

Inform the database code that the number of elements has changed May not be needed.

INT32 RVC::DBASE_ELEMENT::WriteDBList ( INT32  ElemNum,
const DBLIST DBList 
)

Write an individual entry from the element database attachment list.

Returns:
Number of entries written

The documentation for this class was generated from the following file:

Generated on Sun Oct 7 21:36:52 2012 for TNTsdk 2012 by  doxygen 1.6.1