0031687: Draw Harness, ViewerTest - extend command vrenderparams with option updating...
[occt.git] / src / StepAP209 / StepAP209_Construct.hxx
1 // Created on: 2002-12-06
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 _StepAP209_Construct_HeaderFile
17 #define _StepAP209_Construct_HeaderFile
18
19 #include <Standard.hxx>
20 #include <Standard_DefineAlloc.hxx>
21 #include <Standard_Handle.hxx>
22
23 #include <STEPConstruct_Tool.hxx>
24 #include <Standard_Boolean.hxx>
25 #include <StepElement_HSequenceOfElementMaterial.hxx>
26 #include <StepFEA_HSequenceOfElementGeometricRelationship.hxx>
27 #include <StepFEA_HSequenceOfElementRepresentation.hxx>
28 #include <Standard_Type.hxx>
29 #include <StepElement_HSequenceOfCurveElementSectionDefinition.hxx>
30 class XSControl_WorkSession;
31 class StepBasic_ProductDefinitionFormation;
32 class StepFEA_FeaModel;
33 class StepBasic_Product;
34 class StepFEA_FeaAxis2Placement3d;
35 class StepShape_ShapeRepresentation;
36 class StepFEA_Curve3dElementRepresentation;
37 class StepFEA_ElementRepresentation;
38 class StepBasic_ProductDefinition;
39 class StepData_StepModel;
40 class StepRepr_ProductDefinitionShape;
41
42
43 //! Basic tool for working with AP209 model
44 class StepAP209_Construct  : public STEPConstruct_Tool
45 {
46 public:
47
48   DEFINE_STANDARD_ALLOC
49
50   
51   //! Creates an empty tool
52   Standard_EXPORT StepAP209_Construct();
53   
54   //! Creates a tool and initializes it
55   Standard_EXPORT StepAP209_Construct(const Handle(XSControl_WorkSession)& WS);
56   
57   //! Initializes tool; returns True if succeeded
58   Standard_EXPORT Standard_Boolean Init (const Handle(XSControl_WorkSession)& WS);
59   
60   Standard_EXPORT Standard_Boolean IsDesing (const Handle(StepBasic_ProductDefinitionFormation)& PD) const;
61   
62   Standard_EXPORT Standard_Boolean IsAnalys (const Handle(StepBasic_ProductDefinitionFormation)& PD) const;
63   
64   Standard_EXPORT Handle(StepFEA_FeaModel) FeaModel (const Handle(StepBasic_Product)& Prod) const;
65   
66   Standard_EXPORT Handle(StepFEA_FeaModel) FeaModel (const Handle(StepBasic_ProductDefinitionFormation)& PDF) const;
67   
68   Standard_EXPORT Handle(StepFEA_FeaAxis2Placement3d) GetFeaAxis2Placement3d (const Handle(StepFEA_FeaModel)& theFeaModel) const;
69   
70   Standard_EXPORT Handle(StepShape_ShapeRepresentation) IdealShape (const Handle(StepBasic_Product)& Prod) const;
71   
72   Standard_EXPORT Handle(StepShape_ShapeRepresentation) IdealShape (const Handle(StepBasic_ProductDefinitionFormation)& PDF) const;
73   
74   Standard_EXPORT Handle(StepShape_ShapeRepresentation) NominShape (const Handle(StepBasic_Product)& Prod) const;
75   
76   Standard_EXPORT Handle(StepShape_ShapeRepresentation) NominShape (const Handle(StepBasic_ProductDefinitionFormation)& PDF) const;
77   
78   Standard_EXPORT Handle(StepElement_HSequenceOfElementMaterial) GetElementMaterial() const;
79   
80   Standard_EXPORT Handle(StepFEA_HSequenceOfElementGeometricRelationship) GetElemGeomRelat() const;
81   
82   Standard_EXPORT Handle(StepFEA_HSequenceOfElementRepresentation) GetElements1D (const Handle(StepFEA_FeaModel)& theFeaModel) const;
83   
84   Standard_EXPORT Handle(StepFEA_HSequenceOfElementRepresentation) GetElements2D (const Handle(StepFEA_FeaModel)& theFEAModel) const;
85   
86   Standard_EXPORT Handle(StepFEA_HSequenceOfElementRepresentation) GetElements3D (const Handle(StepFEA_FeaModel)& theFEAModel) const;
87   
88   //! Getting list of curve_element_section_definitions
89   //! for given element_representation
90   Standard_EXPORT Handle(StepElement_HSequenceOfCurveElementSectionDefinition) GetCurElemSection (const Handle(StepFEA_Curve3dElementRepresentation)& ElemRepr) const;
91   
92   Standard_EXPORT Handle(StepShape_ShapeRepresentation) GetShReprForElem (const Handle(StepFEA_ElementRepresentation)& ElemRepr) const;
93   
94   //! Create empty structure for idealized_analysis_shape
95   Standard_EXPORT Standard_Boolean CreateAnalysStructure (const Handle(StepBasic_Product)& Prod) const;
96   
97   //! Create fea structure
98   Standard_EXPORT Standard_Boolean CreateFeaStructure (const Handle(StepBasic_Product)& Prod) const;
99   
100   //! Put into model entities Applied... for AP209 instead of
101   //! entities CcDesing... from AP203.
102   Standard_EXPORT Standard_Boolean ReplaceCcDesingToApplied() const;
103   
104   //! Create approval.. , date.. , time.. , person.. and
105   //! organization.. entities for analysis structure
106   Standard_EXPORT Standard_Boolean CreateAddingEntities (const Handle(StepBasic_ProductDefinition)& AnaPD) const;
107   
108   //! Create AP203 structure from existing AP209 structure
109   Standard_EXPORT Handle(StepData_StepModel) CreateAP203Structure() const;
110   
111   //! Create approval.. , date.. , time.. , person.. and
112   //! organization.. entities for 203 structure
113   Standard_EXPORT Standard_Boolean CreateAdding203Entities (const Handle(StepBasic_ProductDefinition)& PD, Handle(StepData_StepModel)& aModel) const;
114   
115   Standard_EXPORT Handle(StepFEA_FeaModel) FeaModel (const Handle(StepRepr_ProductDefinitionShape)& PDS) const;
116   
117   Standard_EXPORT Handle(StepFEA_FeaModel) FeaModel (const Handle(StepBasic_ProductDefinition)& PD) const;
118   
119   Standard_EXPORT Handle(StepShape_ShapeRepresentation) IdealShape (const Handle(StepBasic_ProductDefinition)& PD) const;
120   
121   Standard_EXPORT Handle(StepShape_ShapeRepresentation) IdealShape (const Handle(StepRepr_ProductDefinitionShape)& PDS) const;
122
123
124
125
126 protected:
127
128   
129   Standard_EXPORT Handle(StepFEA_HSequenceOfElementRepresentation) GetFeaElements (const Handle(StepFEA_FeaModel)& theFeaModel, const Handle(Standard_Type)& theType) const;
130
131
132
133
134 private:
135
136
137
138
139
140 };
141
142
143
144
145
146
147
148 #endif // _StepAP209_Construct_HeaderFile