1 // Created on: 1993-08-04
2 // Created by: Herve LEGRAND
3 // Copyright (c) 1993-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 _STEPConstruct_Part_HeaderFile
18 #define _STEPConstruct_Part_HeaderFile
20 #include <Standard.hxx>
21 #include <Standard_DefineAlloc.hxx>
22 #include <Standard_Handle.hxx>
24 #include <Standard_Boolean.hxx>
25 class StepShape_ShapeDefinitionRepresentation;
26 class StepBasic_ProductRelatedProductCategory;
27 class StepShape_ShapeRepresentation;
28 class TCollection_HAsciiString;
29 class StepBasic_ApplicationContext;
30 class StepBasic_ProductContext;
31 class StepBasic_ProductDefinitionContext;
32 class StepBasic_Product;
33 class StepBasic_ProductDefinitionFormation;
34 class StepBasic_ProductDefinition;
35 class StepRepr_ProductDefinitionShape;
38 //! Provides tools for creating STEP structures associated
39 //! with part (SDR), such as PRODUCT, PDF etc., as
40 //! required by current schema
41 //! Also allows to investigate and modify this data
42 class STEPConstruct_Part
49 Standard_EXPORT STEPConstruct_Part();
51 Standard_EXPORT void MakeSDR (const Handle(StepShape_ShapeRepresentation)& aShape, const Handle(TCollection_HAsciiString)& aName, const Handle(StepBasic_ApplicationContext)& AC);
53 Standard_EXPORT void ReadSDR (const Handle(StepShape_ShapeDefinitionRepresentation)& aShape);
55 Standard_EXPORT Standard_Boolean IsDone() const;
57 //! Returns SDR or Null if not done
58 Standard_EXPORT Handle(StepShape_ShapeDefinitionRepresentation) SDRValue() const;
60 //! Returns SDR->UsedRepresentation() or Null if not done
61 Standard_EXPORT Handle(StepShape_ShapeRepresentation) SRValue() const;
63 Standard_EXPORT Handle(StepBasic_ProductContext) PC() const;
65 Standard_EXPORT Handle(TCollection_HAsciiString) PCname() const;
67 Standard_EXPORT Handle(TCollection_HAsciiString) PCdisciplineType() const;
69 Standard_EXPORT void SetPCname (const Handle(TCollection_HAsciiString)& name);
71 Standard_EXPORT void SetPCdisciplineType (const Handle(TCollection_HAsciiString)& label);
73 Standard_EXPORT Handle(StepBasic_ApplicationContext) AC() const;
75 Standard_EXPORT Handle(TCollection_HAsciiString) ACapplication() const;
77 Standard_EXPORT void SetACapplication (const Handle(TCollection_HAsciiString)& text);
79 Standard_EXPORT Handle(StepBasic_ProductDefinitionContext) PDC() const;
81 Standard_EXPORT Handle(TCollection_HAsciiString) PDCname() const;
83 Standard_EXPORT Handle(TCollection_HAsciiString) PDCstage() const;
85 Standard_EXPORT void SetPDCname (const Handle(TCollection_HAsciiString)& label);
87 Standard_EXPORT void SetPDCstage (const Handle(TCollection_HAsciiString)& label);
89 Standard_EXPORT Handle(StepBasic_Product) Product() const;
91 Standard_EXPORT Handle(TCollection_HAsciiString) Pid() const;
93 Standard_EXPORT Handle(TCollection_HAsciiString) Pname() const;
95 Standard_EXPORT Handle(TCollection_HAsciiString) Pdescription() const;
97 Standard_EXPORT void SetPid (const Handle(TCollection_HAsciiString)& id);
99 Standard_EXPORT void SetPname (const Handle(TCollection_HAsciiString)& label);
101 Standard_EXPORT void SetPdescription (const Handle(TCollection_HAsciiString)& text);
103 Standard_EXPORT Handle(StepBasic_ProductDefinitionFormation) PDF() const;
105 Standard_EXPORT Handle(TCollection_HAsciiString) PDFid() const;
107 Standard_EXPORT Handle(TCollection_HAsciiString) PDFdescription() const;
109 Standard_EXPORT void SetPDFid (const Handle(TCollection_HAsciiString)& id);
111 Standard_EXPORT void SetPDFdescription (const Handle(TCollection_HAsciiString)& text);
113 Standard_EXPORT Handle(StepBasic_ProductDefinition) PD() const;
115 Standard_EXPORT Handle(TCollection_HAsciiString) PDdescription() const;
117 Standard_EXPORT void SetPDdescription (const Handle(TCollection_HAsciiString)& text);
119 Standard_EXPORT Handle(StepRepr_ProductDefinitionShape) PDS() const;
121 Standard_EXPORT Handle(TCollection_HAsciiString) PDSname() const;
123 Standard_EXPORT Handle(TCollection_HAsciiString) PDSdescription() const;
125 Standard_EXPORT void SetPDSname (const Handle(TCollection_HAsciiString)& label);
127 Standard_EXPORT void SetPDSdescription (const Handle(TCollection_HAsciiString)& text);
129 Standard_EXPORT Handle(StepBasic_ProductRelatedProductCategory) PRPC() const;
131 Standard_EXPORT Handle(TCollection_HAsciiString) PRPCname() const;
133 Standard_EXPORT Handle(TCollection_HAsciiString) PRPCdescription() const;
135 Standard_EXPORT void SetPRPCname (const Handle(TCollection_HAsciiString)& label);
137 Standard_EXPORT void SetPRPCdescription (const Handle(TCollection_HAsciiString)& text);
152 Standard_Boolean myDone;
153 Handle(StepShape_ShapeDefinitionRepresentation) mySDR;
154 Handle(StepBasic_ProductRelatedProductCategory) myPRPC;
165 #endif // _STEPConstruct_Part_HeaderFile