0033661: Data Exchange, Step Import - Tessellated GDTs are not imported
[occt.git] / src / StepVisual / StepVisual_StyledItem.hxx
1 // Created on: 1995-12-01
2 // Created by: EXPRESS->CDL V0.2 Translator
3 // Copyright (c) 1995-1999 Matra Datavision
4 // Copyright (c) 1999-2014 OPEN CASCADE SAS
5 //
6 // This file is part of Open CASCADE Technology software library.
7 //
8 // This library is free software; you can redistribute it and/or modify it under
9 // the terms of the GNU Lesser General Public License version 2.1 as published
10 // by the Free Software Foundation, with special exception defined in the file
11 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 // distribution for complete text of the license and disclaimer of any warranty.
13 //
14 // Alternatively, this file may be used under the terms of Open CASCADE
15 // commercial license or contractual agreement.
16
17 #ifndef _StepVisual_StyledItem_HeaderFile
18 #define _StepVisual_StyledItem_HeaderFile
19
20 #include <Standard.hxx>
21 #include <Standard_Type.hxx>
22
23 #include <StepVisual_HArray1OfPresentationStyleAssignment.hxx>
24 #include <StepRepr_RepresentationItem.hxx>
25 #include <StepVisual_StyledItemTarget.hxx>
26 #include <Standard_Integer.hxx>
27 class StepRepr_RepresentationItem;
28 class TCollection_HAsciiString;
29 class StepVisual_PresentationStyleAssignment;
30
31
32 class StepVisual_StyledItem;
33 DEFINE_STANDARD_HANDLE(StepVisual_StyledItem, StepRepr_RepresentationItem)
34
35
36 class StepVisual_StyledItem : public StepRepr_RepresentationItem
37 {
38
39 public:
40
41   
42   //! Returns a StyledItem
43   StepVisual_StyledItem()
44   {}
45
46   Standard_EXPORT void Init (const Handle(TCollection_HAsciiString)& aName, const Handle(StepVisual_HArray1OfPresentationStyleAssignment)& aStyles, const Handle(Standard_Transient)& aItem);
47   
48   Standard_EXPORT void SetStyles (const Handle(StepVisual_HArray1OfPresentationStyleAssignment)& aStyles);
49   
50   const Handle(StepVisual_HArray1OfPresentationStyleAssignment)& Styles() const
51   {
52     return myStyles;
53   }
54   
55   const Handle(StepVisual_PresentationStyleAssignment)& StylesValue
56     (const Standard_Integer num) const
57   {
58     return myStyles->Value(num);
59   }
60
61   Standard_Integer NbStyles() const
62   {
63     return myStyles.IsNull() ? 0 : myStyles->Length();
64   }
65
66   Standard_EXPORT void SetItem (const Handle(StepRepr_RepresentationItem)& aItem);
67   
68   const Handle(StepRepr_RepresentationItem)& Item() const
69   {
70     return myReprItem;
71   }
72
73   Standard_EXPORT void SetItem (const StepVisual_StyledItemTarget& aItem);
74   
75   Standard_EXPORT StepVisual_StyledItemTarget ItemAP242() const;
76
77
78
79   DEFINE_STANDARD_RTTIEXT(StepVisual_StyledItem,StepRepr_RepresentationItem)
80
81 protected:
82
83
84
85
86 private:
87
88
89   Handle(StepVisual_HArray1OfPresentationStyleAssignment) myStyles;
90   //! May be StepRepr_RepresentationItem for AP214(203) and StepVisual_StyledItemTarget for AP242
91   Handle(Standard_Transient) myItem;
92   //! This is downcasted from myItem
93   Handle(StepRepr_RepresentationItem) myReprItem;
94
95 };
96
97
98
99
100
101
102
103 #endif // _StepVisual_StyledItem_HeaderFile