/////////////////////////////////////////////////////////////////////////////// // Copyright (C) 2002-2025, Open Design Alliance (the "Alliance"). // All rights reserved. // // This software and its documentation and related materials are owned by // the Alliance. The software may only be incorporated into application // programs owned by members of the Alliance, subject to a signed // Membership Agreement and Supplemental Software License Agreement with the // Alliance. The structure and organization of this software are the valuable // trade secrets of the Alliance and its suppliers. The software is also // protected by copyright law and international treaty provisions. Application // programs incorporating this software must include the following statement // with their copyright notices: // // This application incorporates Open Design Alliance software pursuant to a license // agreement with Open Design Alliance. // Open Design Alliance Copyright (C) 2002-2025 by Open Design Alliance. // All rights reserved. // // By use of this software, its documentation or related materials, you // acknowledge and accept the above terms. /////////////////////////////////////////////////////////////////////////////// #ifndef __NW_RECAP_EXTERNAL_GEOMETRY_IMPL_H__ #define __NW_RECAP_EXTERNAL_GEOMETRY_IMPL_H__ #include "NwGeometryExternalPE.h" #include "NwDBExternalGeometryPE.h" class OdNwGeometryExternal; class NwRecapAbstractExternalGeometryPE : public OdNwAbstractExternalGeometryPE { ODRX_DECLARE_MEMBERS(NwRecapAbstractExternalGeometryPE); public: NwRecapAbstractExternalGeometryPE(); virtual ~NwRecapAbstractExternalGeometryPE(); OdResult setStreamMap(const std::map& streamMap) override; OdResult setRcsService(OdRxRcsFileServicesPtr pRcsSrv) override; OdResult getPointCloud(const OdString& refName, const OdGUID& scanGuid, OdUInt64 voxIdx, OdGePoint3dArray& coords, OdCmEntityColorArray& colors) override; OdResult getPointCloud(const OdNwGeometryExternal* pGeomExternal, OdGePoint3dArray& coords, OdCmEntityColorArray& colors) override; OdResult getPointCloud(const OdNwGeometryExternal* pGeomExternal, OdPointCloudScanDatabasePtr& pScanDb, OdPointCloudProjectDatabasePtr& pProjDb) override; OdResult getPointCloud(const OdNwGeometryExternal* pGeomExternal, OdNwPointCloudData& pcData) override; OdResult isStreamMapEmpty(bool& result) override; OdResult setFindReferenceCallback(std::function findReferenceCallback) override; private: OdGUID getGuid(const OdNwGeometryExternal* pGeomExternal); }; typedef OdSmartPtr NwRecapAbstractExternalGeometryPEPtr; class NwRecapAbstractDBExternalGeometryPE : public OdNwAbstractDBExternalGeometryPE { ODRX_DECLARE_MEMBERS(NwRecapAbstractDBExternalGeometryPE); public: NwRecapAbstractDBExternalGeometryPE() = default; virtual ~NwRecapAbstractDBExternalGeometryPE() = default; OdResult setFindReferenceCallback(const OdRxObject* pThis, std::function findReferenceCallback) override; OdStreamBufPtr getEmbeddedStreamBuffer(const OdRxObject* pThis, const OdString& refName, const std::function& findReferenceCallback, bool create) override; void resetCache(const OdRxObject* pThis); }; typedef OdSmartPtr NwRecapAbstractExternalGeometryPEPtr; #endif //__NW_RECAP_EXTERNAL_GEOMETRY_IMPL_H__