Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-09-22 08:59:25

0001 // Created on: 2015-09-10
0002 // Created by: Irina Krylova
0003 // Copyright (c) 1999-2015 OPEN CASCADE SAS
0004 //
0005 // This file is part of Open CASCADE Technology software library.
0006 //
0007 // This library is free software; you can redistribute it and/or modify it under
0008 // the terms of the GNU Lesser General Public License version 2.1 as published
0009 // by the Free Software Foundation, with special exception defined in the file
0010 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
0011 // distribution for complete text of the license and disclaimer of any warranty.
0012 //
0013 // Alternatively, this file may be used under the terms of Open CASCADE
0014 // commercial license or contractual agreement.
0015 
0016 #ifndef _STEPCAFControl_GDTProperty_HeaderFile
0017 #define _STEPCAFControl_GDTProperty_HeaderFile
0018 
0019 #include <Standard.hxx>
0020 #include <Standard_DefineAlloc.hxx>
0021 #include <Standard_Handle.hxx>
0022 
0023 #include <STEPConstruct_Tool.hxx>
0024 #include <Standard_CString.hxx>
0025 #include <StepDimTol_GeometricTolerance.hxx>
0026 #include <StepDimTol_GeometricToleranceModifier.hxx>
0027 #include <StepDimTol_GeometricToleranceType.hxx>
0028 #include <StepDimTol_DatumReferenceModifier.hxx>
0029 #include <NCollection_Array1.hxx>
0030 #include <NCollection_HArray1.hxx>
0031 #include <StepRepr_CompoundRepresentationItem.hxx>
0032 #include <StepVisual_TessellatedGeometricSet.hxx>
0033 #include <NCollection_Sequence.hxx>
0034 #include <XCAFDimTolObjects_DimensionModif.hxx>
0035 #include <StepShape_LimitsAndFits.hxx>
0036 #include <XCAFDimTolObjects_DatumSingleModif.hxx>
0037 #include <XCAFDimTolObjects_DatumModifWithValue.hxx>
0038 #include <XCAFDimTolObjects_DimensionFormVariance.hxx>
0039 #include <XCAFDimTolObjects_DimensionGrade.hxx>
0040 #include <XCAFDimTolObjects_DimensionType.hxx>
0041 #include <XCAFDimTolObjects_DatumTargetType.hxx>
0042 #include <XCAFDimTolObjects_DimensionQualifier.hxx>
0043 #include <XCAFDimTolObjects_GeomToleranceModif.hxx>
0044 #include <XCAFDimTolObjects_GeomToleranceType.hxx>
0045 #include <XCAFDimTolObjects_GeomToleranceTypeValue.hxx>
0046 
0047 //! This class provides tools for access (read)
0048 //! the GDT properties.
0049 class STEPCAFControl_GDTProperty
0050 {
0051 public:
0052   DEFINE_STANDARD_ALLOC
0053 
0054   Standard_EXPORT             STEPCAFControl_GDTProperty();
0055   Standard_EXPORT static void GetDimModifiers(
0056     const occ::handle<StepRepr_CompoundRepresentationItem>& theCRI,
0057     NCollection_Sequence<XCAFDimTolObjects_DimensionModif>& theModifiers);
0058 
0059   Standard_EXPORT static void GetDimClassOfTolerance(
0060     const occ::handle<StepShape_LimitsAndFits>& theLAF,
0061     bool&                                       theHolle,
0062     XCAFDimTolObjects_DimensionFormVariance&    theFV,
0063     XCAFDimTolObjects_DimensionGrade&           theG);
0064 
0065   Standard_EXPORT static bool GetDimType(const occ::handle<TCollection_HAsciiString>& theName,
0066                                          XCAFDimTolObjects_DimensionType&             theType);
0067 
0068   Standard_EXPORT static bool GetDatumTargetType(
0069     const occ::handle<TCollection_HAsciiString>& theDescription,
0070     XCAFDimTolObjects_DatumTargetType&           theType);
0071 
0072   Standard_EXPORT static bool GetDimQualifierType(
0073     const occ::handle<TCollection_HAsciiString>& theDescription,
0074     XCAFDimTolObjects_DimensionQualifier&        theType);
0075 
0076   Standard_EXPORT static bool GetTolValueType(
0077     const occ::handle<TCollection_HAsciiString>& theDescription,
0078     XCAFDimTolObjects_GeomToleranceTypeValue&    theType);
0079 
0080   Standard_EXPORT static occ::handle<TCollection_HAsciiString> GetTolValueType(
0081     const XCAFDimTolObjects_GeomToleranceTypeValue& theType);
0082 
0083   Standard_EXPORT static occ::handle<TCollection_HAsciiString> GetDimTypeName(
0084     const XCAFDimTolObjects_DimensionType theType);
0085 
0086   Standard_EXPORT static occ::handle<TCollection_HAsciiString> GetDimQualifierName(
0087     const XCAFDimTolObjects_DimensionQualifier theQualifier);
0088 
0089   Standard_EXPORT static occ::handle<TCollection_HAsciiString> GetDimModifierName(
0090     const XCAFDimTolObjects_DimensionModif theModifier);
0091 
0092   Standard_EXPORT static occ::handle<StepShape_LimitsAndFits> GetLimitsAndFits(
0093     bool                                    theHole,
0094     XCAFDimTolObjects_DimensionFormVariance theFormVariance,
0095     XCAFDimTolObjects_DimensionGrade        theGrade);
0096 
0097   Standard_EXPORT static occ::handle<TCollection_HAsciiString> GetDatumTargetName(
0098     const XCAFDimTolObjects_DatumTargetType theDatumType);
0099 
0100   Standard_EXPORT static StepDimTol_GeometricToleranceType GetGeomToleranceType(
0101     const XCAFDimTolObjects_GeomToleranceType theType);
0102 
0103   Standard_EXPORT static XCAFDimTolObjects_GeomToleranceType GetGeomToleranceType(
0104     const StepDimTol_GeometricToleranceType theType);
0105 
0106   Standard_EXPORT static occ::handle<StepDimTol_GeometricTolerance> GetGeomTolerance(
0107     const XCAFDimTolObjects_GeomToleranceType theType);
0108 
0109   Standard_EXPORT static StepDimTol_GeometricToleranceModifier GetGeomToleranceModifier(
0110     const XCAFDimTolObjects_GeomToleranceModif theModifier);
0111 
0112   Standard_EXPORT static occ::handle<NCollection_HArray1<StepDimTol_DatumReferenceModifier>>
0113     GetDatumRefModifiers(
0114       const NCollection_Sequence<XCAFDimTolObjects_DatumSingleModif>& theModifiers,
0115       const XCAFDimTolObjects_DatumModifWithValue&                    theModifWithVal,
0116       const double                                                    theValue,
0117       const StepBasic_Unit&                                           theUnit);
0118 
0119   Standard_EXPORT static occ::handle<StepVisual_TessellatedGeometricSet> GetTessellation(
0120     const TopoDS_Shape& theShape);
0121 };
0122 
0123 #endif // _STEPCAFControl_GDTProperty_HeaderFile