0031642: Visualization - crash in Graphic3d_Structure::SetVisual() on redisplaying...
[occt.git] / src / StepVisual / StepVisual_StyledItemTarget.hxx
1 // Created on: 2016-03-18
2 // Created by: Irina KRYLOVA
3 // Copyright (c) 2016 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 _StepVisual_StyledItemTarget_HeaderFile
17 #define _StepVisual_StyledItemTarget_HeaderFile
18
19 #include <Standard.hxx>
20 #include <Standard_DefineAlloc.hxx>
21 #include <Standard_Handle.hxx>
22
23 #include <StepData_SelectType.hxx>
24 #include <Standard_Integer.hxx>
25
26 class Standard_Transient;
27 class StepGeom_GeometricRepresentationItem;
28 class StepRepr_MappedItem;
29 class StepRepr_Representation;
30 class StepShape_TopologicalRepresentationItem;
31
32 class StepVisual_StyledItemTarget  : public StepData_SelectType
33 {
34 public:
35
36   DEFINE_STANDARD_ALLOC
37   
38   //! Returns a StyledItemTarget select type
39   Standard_EXPORT StepVisual_StyledItemTarget();
40   
41   //! Recognizes a StyledItemTarget Kind Entity that is :
42   //! 1 -> GeometricRepresentationItem
43   //! 2 -> MappedItem
44   //! 3 -> Representation
45   //! 4 -> TopologicalRepresentationItem
46   //! 0 else
47   Standard_EXPORT Standard_Integer CaseNum (const Handle(Standard_Transient)& ent)  const;
48   
49   //! returns Value as a GeometricRepresentationItem (Null if another type)
50   Standard_EXPORT Handle(StepGeom_GeometricRepresentationItem) GeometricRepresentationItem()  const;
51   
52   //! returns Value as a MappedItem (Null if another type)
53   Standard_EXPORT Handle(StepRepr_MappedItem) MappedItem()  const;
54   
55   //! returns Value as a Representation (Null if another type)
56   Standard_EXPORT Handle(StepRepr_Representation) Representation()  const;
57   
58   //! returns Value as a TopologicalRepresentationItem (Null if another type)
59   Standard_EXPORT Handle(StepShape_TopologicalRepresentationItem) TopologicalRepresentationItem()  const;
60 };
61 #endif // _StepVisual_StyledItemTarget_HeaderFile