123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- //
- //////////////////////////////////////////////////////////////////////////////
- //
- // Copyright 2015 Autodesk, Inc. All rights reserved.
- //
- // Use of this software is subject to the terms of the Autodesk license
- // agreement provided at the time of installation or download, or which
- // otherwise accompanies this software in either electronic or hard copy form.
- //
- //////////////////////////////////////////////////////////////////////////////
- // (Rights in Technical Data and Computer Software), as applicable.
- //
- // Concrete implementation for 3d spatial indexing.
- //
- #ifndef AD_DBSPINDX_H
- #define AD_DBSPINDX_H
- #include "dbindex.h"
- #pragma pack (push, 8)
- class AcDbSpatialIndex: public AcDbIndex
- {
- public:
- ACDB_DECLARE_MEMBERS(AcDbSpatialIndex);
- AcDbSpatialIndex();
- virtual ~AcDbSpatialIndex();
- virtual AcDbFilteredBlockIterator* newIterator(const AcDbFilter* pFilter)
- const;
- virtual Acad::ErrorStatus rebuildFull(AcDbIndexUpdateData* pIdxData);
- protected:
- virtual Acad::ErrorStatus rebuildModified(AcDbBlockChangeIterator* iter);
- };
- class AcDbImpSpatialIndexIterator;
- class AcDbSpatialFilter;
- class AcDbSpatialIndexIterator : public AcDbFilteredBlockIterator
- {
- public:
- AcDbSpatialIndexIterator(const AcDbSpatialIndex* pIndex,
- const AcDbSpatialFilter* pFilter);
- virtual ~AcDbSpatialIndexIterator();
- virtual Acad::ErrorStatus start();
- virtual AcDbObjectId next();
- virtual AcDbObjectId id() const;
- virtual Acad::ErrorStatus seek(AcDbObjectId id);
- virtual double estimatedHitFraction() const;
- virtual Acad::ErrorStatus accepts(AcDbObjectId id,
- Adesk::Boolean& stat) const;
- private:
- AcDbImpSpatialIndexIterator* mpImpIter;
- };
- #pragma pack (pop)
- #endif // AD_DBSPINDX_H
|