/////////////////////////////////////////////////////////////////////////////// // 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_PVHELPER_H_INCLUDED_ #define _ODTV_PVHELPER_H_INCLUDED_ #include "TvToolsExport.h" // Visualize SDK #include "TvGsView.h" #include "TvEntity.h" #include "TvModel.h" /** \details This class implements partial index processing helper for OdTvGsView. */ class ODTVTOOLS_EXPORT OdTvPartialViewHelper { OdTvGsViewId m_viewId; mutable OdTvExtents3d m_extents; public: /** \details Constructs OdTvPartialViewHelper object. \param viewId [in] Id of OdTvGsView to be processed. */ OdTvPartialViewHelper( const OdTvGsViewId& viewId ); /** \details Destroys OdTvPartialViewHelper object. */ ~OdTvPartialViewHelper(); /** \details Retrives summarized extents of veiw's model's partial indexes. \returns Returns sum of veiw's model' partial index extents; Returns OdTvExtents3d::kInvalidExtents if no models with partial index are present in the view. */ const OdTvExtents3d& getPartialIndexExtents() const; /** \details Checks whether view intersects with summarized extents of veiw's model's partial indexes. \returns Returns true if view intersects with summarized extents of veiw's model's partial indexes; otherwise returns false. This method also returns true if no models with valid partial index are found. */ bool isViewIntersectsPartialIndex() const; /** \details Zooms view so it covers summarized extents of veiw's model's partial indexes. \returns Returns true if operation is successful; otherwise returs false. */ bool zoomViewToPartialIndexExtents() const; }; #endif //_ODTV_PVHELPER_H_INCLUDED_