1 // Created on: 1999-03-10
2 // Created by: data exchange team
3 // Copyright (c) 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 _StepAP214_DocumentReferenceItem_HeaderFile
18 #define _StepAP214_DocumentReferenceItem_HeaderFile
19 
20 #include <Standard.hxx>
21 #include <Standard_DefineAlloc.hxx>
22 #include <Standard_Handle.hxx>
23 
24 #include <StepData_SelectType.hxx>
25 #include <Standard_Integer.hxx>
26 class Standard_Transient;
27 class StepBasic_Approval;
28 class StepRepr_DescriptiveRepresentationItem;
29 class StepRepr_MaterialDesignation;
30 class StepBasic_ProductDefinition;
31 class StepBasic_ProductDefinitionRelationship;
32 class StepRepr_PropertyDefinition;
33 class StepRepr_Representation;
34 class StepRepr_ShapeAspect;
35 class StepRepr_ShapeAspectRelationship;
36 class StepAP214_AppliedExternalIdentificationAssignment;
37 class StepRepr_AssemblyComponentUsage;
38 class StepBasic_CharacterizedObject;
39 class StepShape_DimensionalSize;
40 class StepBasic_ExternallyDefinedItem;
41 class StepBasic_Group;
42 class StepBasic_GroupRelationship;
43 class StepBasic_ProductCategory;
44 class StepRepr_MeasureRepresentationItem;
45 class StepBasic_ProductDefinitionContext;
46 class StepRepr_RepresentationItem;
47 
48 class StepAP214_DocumentReferenceItem  : public StepData_SelectType
49 {
50 public:
51 
52   DEFINE_STANDARD_ALLOC
53 
54 
55   //! Returns a DocumentReferenceItem SelectType
56   Standard_EXPORT StepAP214_DocumentReferenceItem();
57 
58   //! Recognizes a DocumentReferenceItem Kind Entity that is :
59   Standard_EXPORT Standard_Integer CaseNum (const Handle(Standard_Transient)& ent) const;
60 
61   //! returns Value as a Approval (Null if another type)
62   Standard_EXPORT Handle(StepBasic_Approval) Approval() const;
63 
64   //! returns Value as a  (Null if another type)
65   Standard_EXPORT Handle(StepRepr_DescriptiveRepresentationItem) DescriptiveRepresentationItem() const;
66 
67   //! returns Value as a MaterialDesignation (Null if another type)
68   Standard_EXPORT Handle(StepRepr_MaterialDesignation) MaterialDesignation() const;
69 
70   //! returns Value as a ProductDefinition (Null if another type)
71   Standard_EXPORT Handle(StepBasic_ProductDefinition) ProductDefinition() const;
72 
73   //! returns Value as aProductDefinitionRelationship (Null if another type)
74   Standard_EXPORT Handle(StepBasic_ProductDefinitionRelationship) ProductDefinitionRelationship() const;
75 
76   //! returns Value as a PropertyDefinition (Null if another type)
77   Standard_EXPORT Handle(StepRepr_PropertyDefinition) PropertyDefinition() const;
78 
79   //! returns Value as a Representation (Null if another type)
80   Standard_EXPORT Handle(StepRepr_Representation) Representation() const;
81 
82   //! returns Value as a ShapeAspect (Null if another type)
83   Standard_EXPORT Handle(StepRepr_ShapeAspect) ShapeAspect() const;
84 
85   //! returns Value as a ShapeAspectRelationship (Null if another type)
86   Standard_EXPORT Handle(StepRepr_ShapeAspectRelationship) ShapeAspectRelationship() const;
87 
88   //! returns Value as a AppliedExternalIdentificationAssignment (Null if another type)
89   Standard_EXPORT Handle(StepAP214_AppliedExternalIdentificationAssignment) AppliedExternalIdentificationAssignment() const;
90 
91   //! returns Value as a AssemblyComponentUsage (Null if another type)
92   Standard_EXPORT Handle(StepRepr_AssemblyComponentUsage) AssemblyComponentUsage() const;
93 
94   //! returns Value as a CharacterizedObject (Null if another type)
95   Standard_EXPORT Handle(StepBasic_CharacterizedObject) CharacterizedObject() const;
96 
97   //! returns Value as a DimensionalSize (Null if another type)
98   Standard_EXPORT Handle(StepShape_DimensionalSize) DimensionalSize() const;
99 
100   //! returns Value as a ExternallyDefinedItem (Null if another type)
101   Standard_EXPORT Handle(StepBasic_ExternallyDefinedItem) ExternallyDefinedItem() const;
102 
103   //! returns Value as a Group (Null if another type)
104   Standard_EXPORT Handle(StepBasic_Group) Group() const;
105 
106   //! returns Value as a GroupRelationship (Null if another type)
107   Standard_EXPORT Handle(StepBasic_GroupRelationship) GroupRelationship() const;
108 
109   //! returns Value as a MeasureRepresentationItem (Null if another type)
110   Standard_EXPORT Handle(StepRepr_MeasureRepresentationItem) MeasureRepresentationItem() const;
111 
112   //! returns Value as a ProductCategory (Null if another type)
113   Standard_EXPORT Handle(StepBasic_ProductCategory) ProductCategory() const;
114 
115   //! returns Value as a ProductDefinitionContext (Null if another type)
116   Standard_EXPORT Handle(StepBasic_ProductDefinitionContext) ProductDefinitionContext() const;
117 
118   //! returns Value as a RepresentationItem (Null if another type)
119   Standard_EXPORT Handle(StepRepr_RepresentationItem) RepresentationItem() const;
120 
121 protected:
122 
123 
124 
125 
126 
127 private:
128 
129 
130 
131 
132 
133 };
134 
135 
136 
137 
138 
139 
140 
141 #endif // _StepAP214_DocumentReferenceItem_HeaderFile
142