Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-10-02 09:13:56

0001 // Created on: 1993-08-04
0002 // Created by: Herve LEGRAND
0003 // Copyright (c) 1993-1999 Matra Datavision
0004 // Copyright (c) 1999-2014 OPEN CASCADE SAS
0005 //
0006 // This file is part of Open CASCADE Technology software library.
0007 //
0008 // This library is free software; you can redistribute it and/or modify it under
0009 // the terms of the GNU Lesser General Public License version 2.1 as published
0010 // by the Free Software Foundation, with special exception defined in the file
0011 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
0012 // distribution for complete text of the license and disclaimer of any warranty.
0013 //
0014 // Alternatively, this file may be used under the terms of Open CASCADE
0015 // commercial license or contractual agreement.
0016 
0017 #ifndef _STEPConstruct_Part_HeaderFile
0018 #define _STEPConstruct_Part_HeaderFile
0019 
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 #include <Standard_Handle.hxx>
0023 
0024 class StepShape_ShapeDefinitionRepresentation;
0025 class StepBasic_ProductRelatedProductCategory;
0026 class StepShape_ShapeRepresentation;
0027 class TCollection_HAsciiString;
0028 class StepBasic_ApplicationContext;
0029 class StepBasic_ProductContext;
0030 class StepBasic_ProductDefinitionContext;
0031 class StepBasic_Product;
0032 class StepBasic_ProductDefinitionFormation;
0033 class StepBasic_ProductDefinition;
0034 class StepData_StepModel;
0035 class StepRepr_ProductDefinitionShape;
0036 
0037 //! Provides tools for creating STEP structures associated
0038 //! with part (SDR), such as PRODUCT, PDF etc., as
0039 //! required by current schema
0040 //! Also allows to investigate and modify this data
0041 class STEPConstruct_Part
0042 {
0043 public:
0044   DEFINE_STANDARD_ALLOC
0045 
0046   Standard_EXPORT STEPConstruct_Part();
0047 
0048   Standard_EXPORT void MakeSDR(const occ::handle<StepShape_ShapeRepresentation>& aShape,
0049                                const occ::handle<TCollection_HAsciiString>&      aName,
0050                                const occ::handle<StepBasic_ApplicationContext>&  AC,
0051                                const occ::handle<StepData_StepModel>&            theStepModel);
0052 
0053   Standard_EXPORT void ReadSDR(const occ::handle<StepShape_ShapeDefinitionRepresentation>& aShape);
0054 
0055   Standard_EXPORT bool IsDone() const;
0056 
0057   //! Returns SDR or Null if not done
0058   Standard_EXPORT occ::handle<StepShape_ShapeDefinitionRepresentation> SDRValue() const;
0059 
0060   //! Returns SDR->UsedRepresentation() or Null if not done
0061   Standard_EXPORT occ::handle<StepShape_ShapeRepresentation> SRValue() const;
0062 
0063   Standard_EXPORT occ::handle<StepBasic_ProductContext> PC() const;
0064 
0065   Standard_EXPORT occ::handle<TCollection_HAsciiString> PCname() const;
0066 
0067   Standard_EXPORT occ::handle<TCollection_HAsciiString> PCdisciplineType() const;
0068 
0069   Standard_EXPORT void SetPCname(const occ::handle<TCollection_HAsciiString>& name);
0070 
0071   Standard_EXPORT void SetPCdisciplineType(const occ::handle<TCollection_HAsciiString>& label);
0072 
0073   Standard_EXPORT occ::handle<StepBasic_ApplicationContext> AC() const;
0074 
0075   Standard_EXPORT occ::handle<TCollection_HAsciiString> ACapplication() const;
0076 
0077   Standard_EXPORT void SetACapplication(const occ::handle<TCollection_HAsciiString>& text);
0078 
0079   Standard_EXPORT occ::handle<StepBasic_ProductDefinitionContext> PDC() const;
0080 
0081   Standard_EXPORT occ::handle<TCollection_HAsciiString> PDCname() const;
0082 
0083   Standard_EXPORT occ::handle<TCollection_HAsciiString> PDCstage() const;
0084 
0085   Standard_EXPORT void SetPDCname(const occ::handle<TCollection_HAsciiString>& label);
0086 
0087   Standard_EXPORT void SetPDCstage(const occ::handle<TCollection_HAsciiString>& label);
0088 
0089   Standard_EXPORT occ::handle<StepBasic_Product> Product() const;
0090 
0091   Standard_EXPORT occ::handle<TCollection_HAsciiString> Pid() const;
0092 
0093   Standard_EXPORT occ::handle<TCollection_HAsciiString> Pname() const;
0094 
0095   Standard_EXPORT occ::handle<TCollection_HAsciiString> Pdescription() const;
0096 
0097   Standard_EXPORT void SetPid(const occ::handle<TCollection_HAsciiString>& id);
0098 
0099   Standard_EXPORT void SetPname(const occ::handle<TCollection_HAsciiString>& label);
0100 
0101   Standard_EXPORT void SetPdescription(const occ::handle<TCollection_HAsciiString>& text);
0102 
0103   Standard_EXPORT occ::handle<StepBasic_ProductDefinitionFormation> PDF() const;
0104 
0105   Standard_EXPORT occ::handle<TCollection_HAsciiString> PDFid() const;
0106 
0107   Standard_EXPORT occ::handle<TCollection_HAsciiString> PDFdescription() const;
0108 
0109   Standard_EXPORT void SetPDFid(const occ::handle<TCollection_HAsciiString>& id);
0110 
0111   Standard_EXPORT void SetPDFdescription(const occ::handle<TCollection_HAsciiString>& text);
0112 
0113   Standard_EXPORT occ::handle<StepBasic_ProductDefinition> PD() const;
0114 
0115   Standard_EXPORT occ::handle<TCollection_HAsciiString> PDdescription() const;
0116 
0117   Standard_EXPORT void SetPDdescription(const occ::handle<TCollection_HAsciiString>& text);
0118 
0119   Standard_EXPORT occ::handle<StepRepr_ProductDefinitionShape> PDS() const;
0120 
0121   Standard_EXPORT occ::handle<TCollection_HAsciiString> PDSname() const;
0122 
0123   Standard_EXPORT occ::handle<TCollection_HAsciiString> PDSdescription() const;
0124 
0125   Standard_EXPORT void SetPDSname(const occ::handle<TCollection_HAsciiString>& label);
0126 
0127   Standard_EXPORT void SetPDSdescription(const occ::handle<TCollection_HAsciiString>& text);
0128 
0129   Standard_EXPORT occ::handle<StepBasic_ProductRelatedProductCategory> PRPC() const;
0130 
0131   Standard_EXPORT occ::handle<TCollection_HAsciiString> PRPCname() const;
0132 
0133   Standard_EXPORT occ::handle<TCollection_HAsciiString> PRPCdescription() const;
0134 
0135   Standard_EXPORT void SetPRPCname(const occ::handle<TCollection_HAsciiString>& label);
0136 
0137   Standard_EXPORT void SetPRPCdescription(const occ::handle<TCollection_HAsciiString>& text);
0138 
0139 private:
0140   bool                                                 myDone;
0141   occ::handle<StepShape_ShapeDefinitionRepresentation> mySDR;
0142   occ::handle<StepBasic_ProductRelatedProductCategory> myPRPC;
0143 };
0144 
0145 #endif // _STEPConstruct_Part_HeaderFile