/////////////////////////////////////////////////////////////////////////////// // 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 _ODTV_MODELREFERENCE_H_INCLUDED_ #define _ODTV_MODELREFERENCE_H_INCLUDED_ #include "Tv.h" #include "TvModel.h" /** \details The base interface class for getting access to Visualize SDK model reference objects. */ class ODTV_EXPORT OdTvModelReference : public OdTvModel { public: /** \details Retrives referenced model name. \param rc [out] A pointer to a value of the type that contains the result of the operation. \returns A referenced model name. */ virtual const OdString& referencedModelName( OdTvResult* rc = nullptr ) const = 0; /** \details Retrives referenced database path. \param rc [out] A pointer to a value of the type that contains the result of the operation. \returns A referenced database path. */ virtual const OdString& referencedDatabasePath( OdTvResult* rc = nullptr ) const = 0; /** \details Specifies whether model reference can be selected or not. \param bSelectable [in] A flag that determines whether the model reference can be selected or not. \returns A value of the type that contains the result of the operation. */ virtual OdTvResult setSelectable( bool bSelectable ) = 0; /** \details Retrives whether model reference can be selected or not. \param rc [out] A pointer to a value of the type that contains the result of the operation. \returns A flag that determines whether the model reference can be selected or not. */ virtual bool getSelectable( OdTvResult * rc = nullptr ) const = 0; /** \details Returns the CDA (Common Data Access) tree storage for referenced model. \param rc [out] A pointer to a value of the type that contains the result of the operation. \returns An identifier of the CDA (Common Data Access ) tree storage. \remarks If the rc parameter is not null and the CDA tree storage ID has been successfully retrieved, the rc parameter accepts the tvOk value, otherwise it contains an appropriate error code. */ virtual OdTvCDATreeStorageId getCDATreeStorage( OdTvResult* rc = NULL ) = 0; }; /** \details A data type that represents a smart pointer to an object. */ typedef OdTvSmartPtr OdTvModelReferencePtr; #endif //_ODTV_MODELREFERENCE_H_INCLUDED_