DM Namespace Reference

The namespace containing the public interface of the OPALS Datamanager Library. More...

Namespaces

namespace  ColumnSemantic
 Pre-defined attributes (attributes with semantic)
namespace  ColumnType
 Supported attribute type.
namespace  CoordRefSys
 coordinate reference system type
namespace  EchoClass
 echo class types
namespace  ExportWinputSeparator
 behaviour in case two consecutive lines have the same winput code (and structure line number)
namespace  GenericConverter
 provides a set of converter function between DM and generic memory manager structures
namespace  GeometricAlgorithms
 provides a set of geometric algorithms (Douglas-Peucker algorithm, densification of lines)
namespace  GeometricOperations
 provides a set of geometric operations for geometry objects (e.g. intersection, join, differences, etc. )
namespace  GeometricRelations
 provides a set of geometric relations function for geometry objects
namespace  Licence
 Licence error code.
namespace  MessageLevel
 Enumerator defining different importance levels of log records.
namespace  Orientation
 orientation enum
namespace  ScopSemantic
 the scop semantic describes a kind of topographic semantic

Classes

class  Array
 a template class holding a C-array of constant size. More...
class  Array< T, 0 >
class  Exception
 Any Exception thrown by the DM will be derived from this class. More...
class  ExceptionDropElement
 This exception is thrown if the data manager can load the requested index leaf into memory, since all loaded index leafs are currently in use. More...
class  ExceptionDemoLimit
 This exception is thrown if the data manager tries to import (or opens existing ODMs) that exceeds the demo limit (also see setLicenceFile) More...
class  ExceptionArgumentChanged
 Indicates that a passed argument reference was altered before this exception was thrown. Thrown by ICalculator / IFilter("Generic") if 1+ assignments failed, but other 1+ succeeded. More...
class  ProcessingInterrupted
 This exception is thrown if the processing was interrupted (usually by the user) More...
class  IAnalyseDistance
 interface for analysing distances between polyline objects (see GeometricAlgorithms::analyseDistance) More...
struct  Default_allocator
 Allocator template class using new/delete. More...
class  Handle
 Smart pointer class using reference counting with support for DM objects (see ObjectBase) More...
class  StaticHandle
class  IAddInfo
 AddInfo objects store a set of attributes. More...
class  IAddInfoContainer
 Interface of an add info container object (used by geometry objects) More...
class  IAddInfoLayout
 AddInfo layouts describe a set of attributes that can be attached to geometry objects. More...
class  IAddInfoLayoutFactory
 Interface to a factory object for creating AddInfo layouts. More...
class  IAddInfoStatistics
 stores a statistics about a set of addinfo objects. More...
class  IBox
 Geometry object describing a 3d box. More...
class  ICalculator
 Generic calculator for evaluating formulas or manipulating objects based on the OPALS generic filter syntax. More...
class  ICircle
 Geometry object describing a 2d circle. More...
class  IClassificationElement
 Element of a cross classification matrix. More...
class  IClassificationMatrix
 Object for storing a cross classification matrix. More...
class  IColBufferManagerRead
 managing interface for creating and filling point coordinates and attributes into a column based continuous memory buffer More...
class  IColBufferManagerWrite
 managing interface for creating and filling point coordinates and attributes into a column based continuous memory buffer More...
class  IColumn
class  IControlObject
 Control object are used to get status information of extensive processing step and/or to interrupt those processing steps. More...
class  ICUObject
class  ICylinder
 Geometry object describing a finite 3d cylinder. More...
class  IDatamanager
 Interface to an Datamanager (ODM) object. More...
class  IDatamanagerHeader
 Interface to an datamanager header (ODM) object. More...
class  IFile
 Imported files are preserved and represented by such objects within an ODM (see IDatamanager::beginFiles) More...
class  IFilter
class  IFilterRegion
class  IFilterStats
 accumulate statistical information about the results of filtering More...
class  IGeometry
 Base class of all geometry objects. More...
class  IHistogram
 Class for representing a histogram. More...
class  IHistogramSet
 Interface to a set of histograms. More...
class  IIndexHelper
 Helper class for traversing a IndexMap object in multiple stages. More...
class  IIndexHelperSet
 Helper class for traversing a IndexMapSet object in multiple stages. More...
class  IIndexHelperSetFactory
class  IIndexMap
 Interface to a set of histograms. More...
class  IIndexMapSet
 Interface to a set of index map objects. More...
class  IIndexMapSetFactory
 Interface to a set of index map objects. More...
class  IIndexStats
 Object representing statistical information an spatial index. More...
struct  SelectionMode
class  IKnnQueryDescriptor
class  ILinearDistance2D
 Computes an average linear distance of a given point set in 2d. More...
class  ILinearDistance3D
 Computes an average linear distance of a given point set in 3d. More...
class  IMessageOutput
class  IMultiDatamanagerOpener
 For opening multiple datamanagers as single ODM object. More...
class  InsertIteratorPointADJ
class  InsertIteratorPoint
class  FilterHelper
class  IInsertIteratorFilter
class  InsertIteratorFilter
class  BackInsertIteratorPH
class  FrontInsertIteratorPH
class  BackInsertIteratorSTL
class  FrontInsertIteratorSTL
class  IExport
class  IExportAny
class  IExportLAS
class  IExportShape
 Specific import class for handling shape file imports. More...
class  IFileHeader
class  IImport
class  IImportAny
class  IImportGDAL
class  IImportLAS
class  IImportODM
class  IImportShape
 Specific import class for handling shape file imports. More...
class  IImportWithTRJ
class  IShapeTableDefinition
 Object storing a dbf table definition (for shape files) More...
class  IOverview
class  IParameterSet
 Object can store a set of named parameter of different type. More...
class  IPoint
 3d point object More...
class  IPointIndex
 Interface to a point index object managing the point objects within the datamanager. More...
class  IPointIndexLeaf
 object representing a spatial leaf within a point index More...
class  IPointKernelExBase
class  IPointKernelExWrapper
class  IPointSet
 a set of 3d point object More...
class  IPolygon
 interface to a 2.5d polygon of arbitrary complexity More...
class  IPolygonFactory
 factory interface for creating polygon objects More...
class  IPolyline
class  IPolylineFactory
 factory interface for creating polyline objects More...
class  IPolylineIndex
 Interface to an polyline and polygon index object managing all non point objects within the datamanager. More...
class  IProcessor2
class  IRaster
class  ISpatialIndexFactory
struct  SortOrder
struct  QueryOrder
 enum for ordering the spatial search strategies More...
class  ISpatialQueryDescriptor
class  ISphere
 3d sphere object More...
class  ITableLayout
class  ITableLayoutCreator
class  ITableRow
class  Iterator
class  ConstIterator
class  InsertIterator
class  InsertIteratorProxy
class  IText
 Simple text object. More...
class  IValueTranslator
 helper class for translating/mapping attributes before inserting into the ODM More...
class  IWindow
 2d window object More...
class  ObjectBase
class  ObjectBaseRefCounting
struct  PointAccessTraits2dADJ
struct  PointAccessTraits3dADJ
class  IKernelBase
 The kernel processor concept is used for manipulating geometry objects within an ODM in an efficient and easy manner. More...
class  IPointKernel
 kernel for handling point object More...
class  IPolylineKernel
 kernel for handling polyline object More...
class  IGeometryKernel
class  IKernelExBase
 The kernel processor concept is used for manipulating geometry objects within an ODM in an efficient and easy manner. More...
class  IPointKernelEx
 kernel for handling point object More...
class  IProcessor
class  IProcessStats
 Statistic interface to object that can be retrieved after a IProcessorEx run. More...
class  IProcessorEx
 Extended processor/kernel concept. More...
class  ITrafo
 Interface for generic geometry object coordiante transformation. More...

Typedefs

typedef char char_type
typedef std::size_t size_type
typedef std::ptrdiff_t ptrdiff_type
typedef Handle< IAddInfoAddInfoHandle
typedef StaticHandle
< IAddInfoLayout
AddInfoLayoutHandle
typedef Handle
< IAddInfoLayoutFactory
AddInfoLayoutFactoryHandle
typedef Handle
< IAddInfoStatistics
AddInfoStatisticsHandle
typedef Handle< IBoxBoxHandle
typedef Handle< ICalculatorCalculatorHandle
typedef Handle< ICircleCircleHandle
typedef Handle
< IClassificationElement
ClassificationElementHandle
typedef Handle
< IClassificationMatrix
ClassificationMatrixHandle
typedef Handle< IColumnColumnHandle
typedef Handle< IControlObjectControlObjectHandle
typedef Handle< ICUObjectCUObjectHandle
typedef Handle< ICylinderCylinderHandle
typedef Handle< IDatamanagerDatamanagerHandle
typedef Handle
< IDatamanagerHeader
DatamanagerHeaderHandle
typedef Handle< IFileFileHandle
typedef Handle< IFilterFilterHandle
typedef Handle< IFilterRegionFilterRegionHandle
typedef Handle< IFilterStatsFilterStatsHandle
typedef Handle< IGeometryGeometryHandle
typedef Handle< IHistogramHistogramHandle
typedef Handle< IHistogramSetHistogramSetHandle
typedef Handle< IIndexHelperIndexHelperHandle
typedef Handle< IIndexHelperSetIndexHelperSetHandle
typedef Handle
< IIndexHelperSetFactory
IndexHelperSetFactoryHandle
typedef Handle< IIndexMapIndexMapHandle
typedef Handle< IIndexMapSetIndexMapSetHandle
typedef Handle
< IIndexMapSetFactory
IndexMapSetFactoryHandle
typedef Handle< IIndexStatsIndexStatsHandle
typedef Handle
< IKnnQueryDescriptor
KnnQueryDescriptorHandle
typedef Handle< ILinearDistance2DLinearDistance2DHandle
typedef Handle< ILinearDistance3DLinearDistance3DHandle
typedef Handle< IMessageOutputMessageOutputHandle
typedef Handle
< IMultiDatamanagerOpener
MultiDatamanagerOpenerHandle
typedef Handle< IExportExportHandle
typedef Handle< IExportAnyExportAnyHandle
typedef Handle< IExportLASExportLASHandle
typedef Handle< IExportShapeExportShapeHandle
typedef Handle< IFileHeaderFileHeaderHandle
typedef Handle< IImportImportHandle
typedef Handle< IImportAnyImportAnyHandle
typedef Handle< IImportGDALImportGDALHandle
typedef Handle< IImportLASImportLASHandle
typedef Handle< IImportODMImportODMHandle
typedef Handle< IImportShapeImportShapeHandle
typedef Handle< IImportWithTRJImportWithTRJHandle
typedef Handle
< IShapeTableDefinition
ShapeTableDefinitionHandle
typedef Handle< IOverviewOverviewHandle
typedef Handle< IParameterSetParameterSetHandle
typedef Handle< IPointPointHandle
typedef Handle< IPointIndexPointIndexHandle
typedef Handle< IPointIndexLeafPointIndexLeafHandle
typedef Handle
< IPointKernelExBase
IPointKernelExBaseHandle
typedef Handle< IPointSetPointSetHandle
typedef Handle< IPolygonPolygonHandle
typedef Handle< IPolygonFactoryPolygonFactoryHandle
typedef Handle< IPolylinePolylineHandle
typedef Handle< IPolylineFactoryPolylineFactoryHandle
typedef Handle< IPolylineIndexPolylineIndexHandle
typedef Handle< IProcessor2Processor2Handle
typedef IRaster< double > IRasterDouble
typedef IRaster< unsigned > IRasterUnsigned
typedef Handle< IRasterDoubleDoubleRasterHandle
typedef Handle< IRasterUnsignedUnsignedRasterHandle
typedef Handle
< ISpatialIndexFactory
SpatialIndexFactoryHandle
typedef Handle
< ISpatialQueryDescriptor
SpatialQueryDescriptorHandle
typedef Handle< ISphereSphereHandle
typedef Handle< ITableLayoutTableLayoutHandle
typedef Handle
< ITableLayoutCreator
TableLayoutCreatorHandle
typedef Handle< ITextTextHandle
typedef Handle< IWindowWindowHandle
typedef boost::function< void(Log::Type,
const char *)> 
LogFn
typedef ADJ_defaultPointMath2D
< PointAccessTraits2dADJ
PointTraits2dADJ
typedef ADJ_defaultPointMath3D
< PointAccessTraits3dADJ
PointTraits3dADJ
typedef Handle< IKernelBaseKernelBaseHandle
typedef Handle< IPointKernelPointKernelHandle
typedef Handle< IPolylineKernelPolylineKernelHandle
typedef Handle< IGeometryKernelGeometryKernelHandle
typedef Handle< IKernelExBaseKernelExBaseHandle
typedef Handle< IPointKernelExPointKernelExHandle
typedef Handle< IProcessorProcessorHandle
typedef Handle< IProcessStatsProcessStatsHandle
typedef Handle< IProcessorExProcessorExHandle

Enumerations

enum  E_IteratorOrder { eORDER_INTERNAL, eORDER_CHACHED, eORDER_SORTED }

Functions

template<class T , std::size_t N>
bool operator== (const Array< T, N > &l, const Array< T, N > &r)
template<class T , std::size_t N>
bool operator< (const Array< T, N > &l, const Array< T, N > &r)
template<class T , std::size_t N>
bool operator!= (const Array< T, N > &l, const Array< T, N > &r)
template<class T , std::size_t N>
bool operator> (const Array< T, N > &l, const Array< T, N > &r)
template<class T , std::size_t N>
bool operator<= (const Array< T, N > &l, const Array< T, N > &r)
template<class T , std::size_t N>
bool operator>= (const Array< T, N > &l, const Array< T, N > &r)
template<class T , std::size_t N>
void swap (Array< T, N > &l, Array< T, N > &r)
DM_API const char * getVersion ()
 Get the DM version.
DM_API int compareVersion (const char *versionStr)
DM_API bool compatibleVersion (const char *versionStr)
 Checks if the provided DM version string is compatible to the internal DM version.
DM_API void registerLayoutManager (void *dataHandle)
DM_API void registerCostumerData (void *dataHandle)
DM_API bool demoMode (void *instance)
 Demo API functions.
DM_API unsigned long long demoModeLimit ()
 Get the maximum number of points that is admissible in demo mode.
DM_API void registerModule (void *instance, CostumerModuleInterface const *data)
 Set costumer affiliation which is stored in the manager file.
DM_API bool setLicenceFile (const char *keyfile)
 Set full path of licence file in case it is not located in the corresponding default search path (see details below)
DM_API bool setLicenceFile (const char *keyfile, const char *embeddedSoftware)
DM_API Licence::Type getLicenceErrorCode ()
 check the result of the licence test
DM_API const char * getLicenceErrorText ()
DM_API void * allocate_internal (size_t)
DM_API void deallocate_internal (void *)
template<class T , bool TT, class C , class Allocator >
void swap (Handle< T, TT, C, Allocator > &h1, Handle< T, TT, C, Allocator > &h2)
DM_API ICalculator::Dialect::Type operator| (const ICalculator::Dialect::Type &left, const ICalculator::Dialect::Type &right)
DM_API FilterHandle operator|| (const IFilter &, const IFilter &)
DM_API FilterHandle operator&& (const IFilter &, const IFilter &)
DM_API IFilter::WriteAccess::Type operator| (const IFilter::WriteAccess::Type &left, const IFilter::WriteAccess::Type &right)
template<typename ContainerT >
InsertIteratorPointADJ
< ContainerT > 
pointInserterADJ (ContainerT &cont)
 Creates a point inserter for ADJ_lib objects (any ADJ objects with v_addPoint functions are supported).
template<typename ContainerT >
InsertIteratorPoint< ContainerT > pointInserter (ContainerT &cont)
 Creates a point inserter for DM objects (any object with addPoint functions are supported).
template<class T >
InsertIteratorFilter< T > filterInserter (InsertIterator< T > &insIt, FilterHandle filter)
 creates a insert iterator filter for which the user has to take care of the correct live time of the provided insert iterator object
template<class T >
InsertIteratorFilter< T > filterInserter (InsertIterator< T > *pInsIt, FilterHandle filter)
 creates a insert iterator filter and overtake ownership of the provided insert iterator object (need to have the Delete function being overloaded)
template<typename PH_ContainerT >
BackInsertIteratorPH
< PH_ContainerT > 
PH_inserter (PH_ContainerT &cont)
template<typename PH_ContainerT >
BackInsertIteratorPH
< PH_ContainerT > 
PH_backInserter (PH_ContainerT &cont)
template<typename PH_ContainerT >
FrontInsertIteratorPH
< PH_ContainerT > 
PH_frontInserter (PH_ContainerT &cont)
template<typename ContainerT >
BackInsertIteratorSTL< ContainerT > back_inserter (ContainerT &cont)
template<typename ContainerT >
FrontInsertIteratorSTL
< ContainerT > 
front_inserter (ContainerT &cont)
DM_API bool equal2D (const IPoint &a, const IPoint &b)
DM_API bool equal2D (const IPoint &a, const IPoint &b, double eps)
DM_API bool equal3D (const IPoint &a, const IPoint &b)
DM_API bool equal3D (const IPoint &a, const IPoint &b, double eps)
DM_API double length2D (const IPoint &a, const IPoint &b)
DM_API double length3D (const IPoint &a, const IPoint &b)
void DM_API transform (const ITrafo &trafo, IGeometry &geom, bool inv=false)
 provides a generic framework for transforming geometry objects

Variables

class DM_API InsertIteratorFilter
class DM_API IDatamanager

Detailed Description

The namespace containing the public interface of the OPALS Datamanager Library.

For a general description of the OPALS Datamanager Library and how it should be used please refer to this section.

Enumeration Type Documentation

Enumerator:
eORDER_INTERNAL 

Traverse elements in internal geometrical order (usually faster)

eORDER_CHACHED 

Traverse chached elements first (if elements are already in memory this is the fastest method)

eORDER_SORTED 

Traverse elements in sorted order, i.e. insert sequence (usually slower)

Function Documentation

BackInsertIteratorSTL<ContainerT> DM::back_inserter ( ContainerT &  cont)
inline

Creates a back inserter for stl containers. As container elements only handles are allowed. e.g. std::vector< DM::PointHandle >

References back_inserter().

Referenced by back_inserter().

DM_API int DM::compareVersion ( const char *  versionStr)

Compares the provided version against the internal DM version

Returns
1 if internal version is greater than the provided version string
0 if internal version is equal than the provided version string
-1 if internal version is less than the provided version string
DM_API bool DM::compatibleVersion ( const char *  versionStr)

Checks if the provided DM version string is compatible to the internal DM version.

The version is compatible if the internal DM version is equal or newer and no major interface changes have been made (lookup in internal compatibility map): no function, interface, etc. removed and no semantic or behavior changes introduced.

DM_API bool DM::demoMode ( void *  instance)

Demo API functions.

the datamanager is NOT in demo mode on startup. The demo mode restricts the number of points to 1 mio points. Points above the limit are ignored during import and manager files with more than 1 mio points cannot be opened.returns the demo flag

FrontInsertIteratorSTL<ContainerT> DM::front_inserter ( ContainerT &  cont)
inline

Creates a front inserter for stl containers. As container elements only handles are allowed. e.g. std::vector< DM::PointHandle >

References front_inserter().

Referenced by front_inserter().

bool operator!= ( const Array< T, N > &  l,
const Array< T, N > &  r 
)
bool operator< ( const Array< T, N > &  l,
const Array< T, N > &  r 
)
bool operator<= ( const Array< T, N > &  l,
const Array< T, N > &  r 
)
bool operator== ( const Array< T, N > &  l,
const Array< T, N > &  r 
)
bool operator> ( const Array< T, N > &  l,
const Array< T, N > &  r 
)
bool operator>= ( const Array< T, N > &  l,
const Array< T, N > &  r 
)
BackInsertIteratorPH<PH_ContainerT> DM::PH_backInserter ( PH_ContainerT &  cont)
inline

Creates a back inserter for PH containers (supported container: PH_vector, PH_List). As container elements only handles are allowed. e.g. PH_vector< DM::PointHandle >

References PH_backInserter().

Referenced by PH_backInserter().

FrontInsertIteratorPH<PH_ContainerT> DM::PH_frontInserter ( PH_ContainerT &  cont)
inline

Creates a front inserter for PH containers (supported container: PH_vector, PH_List). As container elements only handles are allowed. e.g. PH_vector< DM::PointHandle >

References PH_frontInserter().

Referenced by PH_frontInserter().

BackInsertIteratorPH<PH_ContainerT> DM::PH_inserter ( PH_ContainerT &  cont)
inline

Creates a default inserter (back inserter) for PH containers (supported container: PH_vector, PH_List). As container elements only handles are allowed. e.g. PH_vector< DM::PointHandle >

References PH_inserter().

Referenced by PH_inserter().

DM_API void DM::registerCostumerData ( void *  dataHandle)

If the DLL version of DM library and the NG_lib are used in one project, it is necessary that synchronize the two static costumer maps. otherwise the costumer/demo information is not handled correctly DM::registerCostumerData( &DM::h_CostumerMap() );

DM_API void DM::registerLayoutManager ( void *  dataHandle)

If the DLL version of DM library and the NG_lib are used in one project, it is HIGHLY RECOMMENDED to synchronize the two (DLL and local NG_lib) NG_AddInfoLayoutManager objects. Execute the following call before using any NG_lib object: DM::registerLayoutManager( &NG_AddInfoLayoutManager::h_data() ); (This function is not instantiated in the static library to secure that the dynamic library function is called)

DM_API void DM::registerModule ( void *  instance,
CostumerModuleInterface const *  data 
)

Set costumer affiliation which is stored in the manager file.

Register opals module for providing the corresponding costumer information

DM_API bool DM::setLicenceFile ( const char *  keyfile)

Set full path of licence file in case it is not located in the corresponding default search path (see details below)

default search path order <Datamanager-DLL-Path>/opals.key <Datamanager-DLL-Path>/../cfg/opals.key <opals_base-DLL-Path>/opals.key <opals_base-DLL-Path>/../cfg/opals.key

Returns
true if licence is valid otherwise false (in this case use getLicenceErrorCode/getLicenceErrorText for details)
void swap ( Array< T, N > &  l,
Array< T, N > &  r 
)

References Array< T, N >::swap().