0030675: Visualization - remove redundant proxy classes in hierarchy of PrsMgr_Presen...
[occt.git] / src / Prs3d / Prs3d_PresentationShadow.hxx
CommitLineData
679ecdee 1// Created on: 2014-03-12
2// Created by: Kirill GAVRILOV
3// Copyright (c) 2014 OPEN CASCADE SAS
4//
5// This file is part of Open CASCADE Technology software library.
6//
7// This library is free software; you can redistribute it and/or modify it under
8// the terms of the GNU Lesser General Public License version 2.1 as published
9// by the Free Software Foundation, with special exception defined in the file
10// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
11// distribution for complete text of the license and disclaimer of any warranty.
12//
13// Alternatively, this file may be used under the terms of Open CASCADE
14// commercial license or contractual agreement.
15
16#ifndef _Prs3d_PresentationShadow_HeaderFile
17#define _Prs3d_PresentationShadow_HeaderFile
18
19#include <Prs3d_Presentation.hxx>
20
21//! Defines a "shadow" of existing presentation object with custom aspects.
7dd7c146 22class Prs3d_PresentationShadow : public Graphic3d_Structure
679ecdee 23{
7dd7c146 24 DEFINE_STANDARD_RTTIEXT(Prs3d_PresentationShadow, Graphic3d_Structure)
679ecdee 25public:
26
27 //! Constructs a shadow of existing presentation object.
28 Standard_EXPORT Prs3d_PresentationShadow (const Handle(Graphic3d_StructureManager)& theViewer,
7dd7c146 29 const Handle(Graphic3d_Structure)& thePrs);
679ecdee 30
c3282ec1 31 //! Returns the id of the parent presentation
0f57ab75 32 inline Standard_Integer ParentId() const { return myParentStructId; }
c3282ec1 33
34 //! Returns view affinity of the parent presentation
0f57ab75 35 inline const Handle(Graphic3d_ViewAffinity)& ParentAffinity() const { return myParentAffinity; }
c3282ec1 36
770fa4d4 37 //! Do nothing - axis-aligned bounding box should be initialized from parent structure.
38 Standard_EXPORT virtual void CalculateBoundBox() Standard_OVERRIDE;
39
c3282ec1 40private:
7dd7c146 41
c3282ec1 42 Handle(Graphic3d_ViewAffinity) myParentAffinity;
7dd7c146 43 Standard_Integer myParentStructId;
c3282ec1 44
679ecdee 45};
46
7dd7c146 47DEFINE_STANDARD_HANDLE(Prs3d_PresentationShadow, Graphic3d_Structure)
679ecdee 48
49#endif // _Prs3d_PresentationShadow_HeaderFile