/////////////////////////////////////////////////////////////////////////////// // 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 _OD_DB_GEOCOORDINATESYSTEM_PE_IMPL_ #define _OD_DB_GEOCOORDINATESYSTEM_PE_IMPL_ #include "Ge/GePoint3dArray.h" #include "OdDbGeoCoordinateSystemPE.h" #include "TD_PackPush.h" class OdDbGeoCoordinateSystemCategoryPEImpl : public OdDbGeoCoordinateSystemCategoryPE { ODRX_DECLARE_MEMBERS(OdDbGeoCoordinateSystemCategoryPEImpl); public: virtual OdResult createAll(OdArray& arrCategories) const ODRX_OVERRIDE; }; typedef OdSmartPtr OdDbGeoCoordinateSystemCategoryPEImplPtr; class OdDbGeoCoordinateSystemPEImpl : public OdDbGeoCoordinateSystemPE { ODRX_DECLARE_MEMBERS(OdDbGeoCoordinateSystemPEImpl); public: virtual OdResult create(const OdString& sCoordSysIdOrFullDef, OdDbGeoCoordinateSystemPtr& pCoordSys) const ODRX_OVERRIDE; virtual OdResult createAll(const OdGePoint3d& ptGeo, OdArray& arrCoordSys) const ODRX_OVERRIDE; virtual OdResult createAll(OdArray& arrCoordSys, const OdDbGeoCoordinateSystemCategory* pCategory = NULL) const ODRX_OVERRIDE; }; typedef OdSmartPtr OdDbGeoCoordinateSystemPEImplPtr; class OdDbGeoVerticalCoordinateSystemPEImpl : public OdDbGeoVerticalCoordinateSystemPE { ODRX_DECLARE_MEMBERS(OdDbGeoVerticalCoordinateSystemPEImpl); public: virtual OdResult create(const OdString& sCoordSysIdOrFullDef, OdDbGeoVerticalCoordinateSystemPtr& pCoordSys) const ODRX_OVERRIDE; virtual OdResult createAll(OdArray& arrCoordSys, const OdDbGeoCoordinateSystemCategory* pCategory = NULL) const ODRX_OVERRIDE; }; typedef OdSmartPtr OdDbGeoVerticalCoordinateSystemPEImplPtr; class OdDbGeoCompoundCoordinateSystemPEImpl : public OdDbGeoCompoundCoordinateSystemPE { ODRX_DECLARE_MEMBERS(OdDbGeoCompoundCoordinateSystemPEImpl); public: virtual OdResult create(const OdString& sCoordSysIdOrFullDef, OdDbGeoCompoundCoordinateSystemPtr& pCoordSys) const ODRX_OVERRIDE; virtual OdResult verify(const OdString& sCoordSysId, const OdString& sVerticalCoordSysId) const ODRX_OVERRIDE; }; typedef OdSmartPtr OdDbGeoCompoundCoordinateSystemPEImplPtr; class OdDbGeoCoordinateSystemTransformerPEImpl : public OdDbGeoCoordinateSystemTransformerPE { ODRX_DECLARE_MEMBERS(OdDbGeoCoordinateSystemTransformerPEImpl); public: virtual OdResult transformPoint( const OdString& sSourceCoordSysId, const OdString& sTargetCoordSysId, const OdGePoint3d& ptIn, OdGePoint3d& ptOut) const ODRX_OVERRIDE; virtual OdResult transformPoints( const OdString& sSourceCoordSysId, const OdString& sTargetCoordSysId, const OdGePoint3dArray& arrPtIn, OdGePoint3dArray& arrPtOut) const ODRX_OVERRIDE; virtual OdResult create( const OdString& sSourceCoordSysId, const OdString& sTargetCoordSysId, OdDbGeoCoordinateSystemTransformerPtr& pCoordSysTransformer) const ODRX_OVERRIDE; }; typedef OdSmartPtr OdDbGeoCoordinateSystemTransformerPEImplPtr; #include "TD_PackPop.h" #endif //_OD_DB_GEOCOORDINATESYSTEM_PE_IMPL_