0024002: Overall code and build procedure refactoring -- automatic
[occt.git] / src / StepAP209 / StepAP209_Construct.hxx
CommitLineData
42cf5bc1 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>
30class XSControl_WorkSession;
31class StepBasic_ProductDefinitionFormation;
32class StepFEA_FeaModel;
33class StepBasic_Product;
34class StepFEA_FeaAxis2Placement3d;
35class StepShape_ShapeRepresentation;
36class StepFEA_Curve3dElementRepresentation;
37class StepFEA_ElementRepresentation;
38class StepBasic_ProductDefinition;
39class StepData_StepModel;
40class StepRepr_ProductDefinitionShape;
41
42
43//! Basic tool for working with AP209 model
44class StepAP209_Construct : public STEPConstruct_Tool
45{
46public:
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
126protected:
127
128
129 Standard_EXPORT Handle(StepFEA_HSequenceOfElementRepresentation) GetFeaElements (const Handle(StepFEA_FeaModel)& theFeaModel, const Handle(Standard_Type)& theType) const;
130
131
132
133
134private:
135
136
137
138
139
140};
141
142
143
144
145
146
147
148#endif // _StepAP209_Construct_HeaderFile