0031642: Visualization - crash in Graphic3d_Structure::SetVisual() on redisplaying...
[occt.git] / src / StepRepr / StepRepr_RepresentedDefinition.hxx
1 // Created on: 2002-12-12
2 // Created by: data exchange team
3 // Copyright (c) 2002-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 _StepRepr_RepresentedDefinition_HeaderFile
17 #define _StepRepr_RepresentedDefinition_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 class Standard_Transient;
26 class StepBasic_GeneralProperty;
27 class StepRepr_PropertyDefinition;
28 class StepRepr_PropertyDefinitionRelationship;
29 class StepRepr_ShapeAspect;
30 class StepRepr_ShapeAspectRelationship;
31
32
33 //! Representation of STEP SELECT type RepresentedDefinition
34 class StepRepr_RepresentedDefinition  : public StepData_SelectType
35 {
36 public:
37
38   DEFINE_STANDARD_ALLOC
39
40   
41   //! Empty constructor
42   Standard_EXPORT StepRepr_RepresentedDefinition();
43   
44   //! Recognizes a kind of RepresentedDefinition select type
45   //! 1 -> GeneralProperty from StepBasic
46   //! 2 -> PropertyDefinition from StepRepr
47   //! 3 -> PropertyDefinitionRelationship from StepRepr
48   //! 4 -> ShapeAspect from StepRepr
49   //! 5 -> ShapeAspectRelationship from StepRepr
50   //! 0 else
51   Standard_EXPORT Standard_Integer CaseNum (const Handle(Standard_Transient)& ent) const;
52   
53   //! Returns Value as GeneralProperty (or Null if another type)
54   Standard_EXPORT Handle(StepBasic_GeneralProperty) GeneralProperty() const;
55   
56   //! Returns Value as PropertyDefinition (or Null if another type)
57   Standard_EXPORT Handle(StepRepr_PropertyDefinition) PropertyDefinition() const;
58   
59   //! Returns Value as PropertyDefinitionRelationship (or Null if another type)
60   Standard_EXPORT Handle(StepRepr_PropertyDefinitionRelationship) PropertyDefinitionRelationship() const;
61   
62   //! Returns Value as ShapeAspect (or Null if another type)
63   Standard_EXPORT Handle(StepRepr_ShapeAspect) ShapeAspect() const;
64   
65   //! Returns Value as ShapeAspectRelationship (or Null if another type)
66   Standard_EXPORT Handle(StepRepr_ShapeAspectRelationship) ShapeAspectRelationship() const;
67
68
69
70
71 protected:
72
73
74
75
76
77 private:
78
79
80
81
82
83 };
84
85
86
87
88
89
90
91 #endif // _StepRepr_RepresentedDefinition_HeaderFile