1 // Created on: 1999-03-09
2 // Created by: data exchange team
3 // Copyright (c) 1999 Matra Datavision
4 // Copyright (c) 1999-2014 OPEN CASCADE SAS
6 // This file is part of Open CASCADE Technology software library.
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.
14 // Alternatively, this file may be used under the terms of Open CASCADE
15 // commercial license or contractual agreement.
17 #ifndef _StepAP214_ApprovalItem_HeaderFile
18 #define _StepAP214_ApprovalItem_HeaderFile
20 #include <Standard.hxx>
21 #include <Standard_DefineAlloc.hxx>
22 #include <Standard_Handle.hxx>
24 #include <StepData_SelectType.hxx>
25 #include <Standard_Integer.hxx>
26 class Standard_Transient;
27 class StepRepr_AssemblyComponentUsageSubstitute;
28 class StepBasic_DocumentFile;
29 class StepRepr_MaterialDesignation;
30 class StepVisual_MechanicalDesignGeometricPresentationRepresentation;
31 class StepVisual_PresentationArea;
32 class StepBasic_Product;
33 class StepBasic_ProductDefinition;
34 class StepBasic_ProductDefinitionFormation;
35 class StepBasic_ProductDefinitionRelationship;
36 class StepRepr_PropertyDefinition;
37 class StepShape_ShapeRepresentation;
38 class StepBasic_SecurityClassification;
39 class StepRepr_ConfigurationItem;
41 class StepBasic_Document;
42 class StepBasic_Effectivity;
43 class StepBasic_Group;
44 class StepBasic_GroupRelationship;
45 class StepBasic_ProductDefinitionFormationRelationship;
46 class StepRepr_Representation;
47 class StepRepr_ShapeAspectRelationship;
49 class StepAP214_ApprovalItem : public StepData_SelectType
56 //! Returns a ApprovalItem SelectType
57 Standard_EXPORT StepAP214_ApprovalItem();
59 //! Recognizes a ApprovalItem Kind Entity that is :
60 //! 1 -> AssemblyComponentUsageSubstitute
62 //! 3 -> MaterialDesignation
63 //! 4 -> MechanicalDesignGeometricPresentationRepresentation
64 //! 5 -> PresentationArea
66 //! 7 -> ProductDefinition
67 //! 8 -> ProductDefinitionFormation
68 //! 9 -> ProductDefinitionRelationship
69 //! 10 -> PropertyDefinition
70 //! 11 -> ShapeRepresentation
71 //! 12 -> SecurityClassification
72 //! 13 -> ConfigurationItem
77 //! 18 -> GroupRelationship
78 //! 19 -> ProductDefinitionFormationRelationship
79 //! 20 -> Representation
80 //! 21 -> ShapeAspectRelationship
82 Standard_EXPORT virtual Standard_Integer CaseNum (const Handle(Standard_Transient)& ent) const;
84 //! returns Value as a AssemblyComponentUsageSubstitute (Null if another type)
85 Standard_EXPORT virtual Handle(StepRepr_AssemblyComponentUsageSubstitute) AssemblyComponentUsageSubstitute() const;
87 //! returns Value as a DocumentFile (Null if another type)
88 Standard_EXPORT virtual Handle(StepBasic_DocumentFile) DocumentFile() const;
90 //! returns Value as a MaterialDesignation (Null if another type)
91 Standard_EXPORT virtual Handle(StepRepr_MaterialDesignation) MaterialDesignation() const;
93 //! returns Value as a MechanicalDesignGeometricPresentationRepresentation (Null if another type)
94 Standard_EXPORT virtual Handle(StepVisual_MechanicalDesignGeometricPresentationRepresentation) MechanicalDesignGeometricPresentationRepresentation() const;
96 //! returns Value as a PresentationArea (Null if another type)
97 Standard_EXPORT virtual Handle(StepVisual_PresentationArea) PresentationArea() const;
99 //! returns Value as a Product (Null if another type)
100 Standard_EXPORT virtual Handle(StepBasic_Product) Product() const;
102 //! returns Value as a ProductDefinition (Null if another type)
103 Standard_EXPORT virtual Handle(StepBasic_ProductDefinition) ProductDefinition() const;
105 //! returns Value as a ProductDefinitionFormation (Null if another type)
106 Standard_EXPORT virtual Handle(StepBasic_ProductDefinitionFormation) ProductDefinitionFormation() const;
108 //! returns Value as aProductDefinitionRelationship (Null if another type)
109 Standard_EXPORT virtual Handle(StepBasic_ProductDefinitionRelationship) ProductDefinitionRelationship() const;
111 //! returns Value as a PropertyDefinition (Null if another type)
112 Standard_EXPORT virtual Handle(StepRepr_PropertyDefinition) PropertyDefinition() const;
114 //! returns Value as a ShapeRepresentation (Null if another type)
115 Standard_EXPORT virtual Handle(StepShape_ShapeRepresentation) ShapeRepresentation() const;
117 //! returns Value as a SecurityClassification (Null if another type)
118 Standard_EXPORT virtual Handle(StepBasic_SecurityClassification) SecurityClassification() const;
120 //! returns Value as a ConfigurationItem (Null if another type)
121 Standard_EXPORT virtual Handle(StepRepr_ConfigurationItem) ConfigurationItem() const;
123 //! returns Value as a Date (Null if another type)
124 Standard_EXPORT virtual Handle(StepBasic_Date) Date() const;
126 //! returns Value as a Document (Null if another type)
127 Standard_EXPORT virtual Handle(StepBasic_Document) Document() const;
129 //! returns Value as a Effectivity (Null if another type)
130 Standard_EXPORT virtual Handle(StepBasic_Effectivity) Effectivity() const;
132 //! returns Value as a Group (Null if another type)
133 Standard_EXPORT virtual Handle(StepBasic_Group) Group() const;
135 //! returns Value as a GroupRelationship (Null if another type)
136 Standard_EXPORT virtual Handle(StepBasic_GroupRelationship) GroupRelationship() const;
138 //! returns Value as a ProductDefinitionFormationRelationship (Null if another type)
139 Standard_EXPORT virtual Handle(StepBasic_ProductDefinitionFormationRelationship) ProductDefinitionFormationRelationship() const;
141 //! returns Value as a Representation (Null if another type)
142 Standard_EXPORT virtual Handle(StepRepr_Representation) Representation() const;
144 //! returns Value as a ShapeAspectRelationship (Null if another type)
145 Standard_EXPORT virtual Handle(StepRepr_ShapeAspectRelationship) ShapeAspectRelationship() const;
167 #endif // _StepAP214_ApprovalItem_HeaderFile