Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-09-28 09:20:32

0001 // Created on: 1993-01-09
0002 // Created by: CKY / Contract Toubro-Larsen ( Arun MENON )
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 _IGESDimen_DimensionDisplayData_HeaderFile
0018 #define _IGESDimen_DimensionDisplayData_HeaderFile
0019 
0020 #include <Standard.hxx>
0021 
0022 #include <Standard_Integer.hxx>
0023 #include <Standard_Real.hxx>
0024 #include <NCollection_Array1.hxx>
0025 #include <NCollection_HArray1.hxx>
0026 #include <IGESData_IGESEntity.hxx>
0027 class TCollection_HAsciiString;
0028 
0029 //! Defines IGES Dimension Display Data, Type <406> Form <30>,
0030 //! in package IGESDimen
0031 //! The Dimensional Display Data Property is optional but when
0032 //! present must be referenced by a dimension entity.
0033 //! The information it contains could be extracted from the text,
0034 //! leader and witness line data with difficulty.
0035 class IGESDimen_DimensionDisplayData : public IGESData_IGESEntity
0036 {
0037 
0038 public:
0039   Standard_EXPORT IGESDimen_DimensionDisplayData();
0040 
0041   Standard_EXPORT void Init(const int                                    numProps,
0042                             const int                                    aDimType,
0043                             const int                                    aLabelPos,
0044                             const int                                    aCharSet,
0045                             const occ::handle<TCollection_HAsciiString>& aString,
0046                             const int                                    aSymbol,
0047                             const double                                 anAng,
0048                             const int                                    anAlign,
0049                             const int                                    aLevel,
0050                             const int                                    aPlace,
0051                             const int                                    anOrient,
0052                             const double                                 initVal,
0053                             const occ::handle<NCollection_HArray1<int>>& notes,
0054                             const occ::handle<NCollection_HArray1<int>>& startInd,
0055                             const occ::handle<NCollection_HArray1<int>>& endInd);
0056 
0057   //! returns the number of property values (14)
0058   Standard_EXPORT int NbPropertyValues() const;
0059 
0060   //! returns the dimension type
0061   Standard_EXPORT int DimensionType() const;
0062 
0063   //! returns the preferred label position
0064   Standard_EXPORT int LabelPosition() const;
0065 
0066   //! returns the character set interpretation
0067   Standard_EXPORT int CharacterSet() const;
0068 
0069   //! returns e.g., 8HDIAMETER
0070   Standard_EXPORT occ::handle<TCollection_HAsciiString> LString() const;
0071 
0072   Standard_EXPORT int DecimalSymbol() const;
0073 
0074   //! returns the witness line angle in radians
0075   Standard_EXPORT double WitnessLineAngle() const;
0076 
0077   //! returns the text alignment
0078   Standard_EXPORT int TextAlignment() const;
0079 
0080   //! returns the text level
0081   Standard_EXPORT int TextLevel() const;
0082 
0083   //! returns the preferred text placement
0084   Standard_EXPORT int TextPlacement() const;
0085 
0086   //! returns the arrowhead orientation
0087   Standard_EXPORT int ArrowHeadOrientation() const;
0088 
0089   //! returns the primary dimension initial value
0090   Standard_EXPORT double InitialValue() const;
0091 
0092   //! returns the number of supplementary notes or zero
0093   Standard_EXPORT int NbSupplementaryNotes() const;
0094 
0095   //! returns the Index'th supplementary note
0096   //! raises exception if Index <= 0 or Index > NbSupplementaryNotes()
0097   Standard_EXPORT int SupplementaryNote(const int Index) const;
0098 
0099   //! returns the Index'th note start index
0100   //! raises exception if Index <= 0 or Index > NbSupplementaryNotes()
0101   Standard_EXPORT int StartIndex(const int Index) const;
0102 
0103   //! returns the Index'th note end index
0104   //! raises exception if Index <= 0 or Index > NbSupplemetaryNotes()
0105   Standard_EXPORT int EndIndex(const int Index) const;
0106 
0107   DEFINE_STANDARD_RTTIEXT(IGESDimen_DimensionDisplayData, IGESData_IGESEntity)
0108 
0109 private:
0110   int                                   theNbPropertyValues;
0111   int                                   theDimensionType;
0112   int                                   theLabelPosition;
0113   int                                   theCharacterSet;
0114   occ::handle<TCollection_HAsciiString> theLString;
0115   int                                   theDecimalSymbol;
0116   double                                theWitnessLineAngle;
0117   int                                   theTextAlignment;
0118   int                                   theTextLevel;
0119   int                                   theTextPlacement;
0120   int                                   theArrowHeadOrientation;
0121   double                                theInitialValue;
0122   occ::handle<NCollection_HArray1<int>> theSupplementaryNotes;
0123   occ::handle<NCollection_HArray1<int>> theStartIndex;
0124   occ::handle<NCollection_HArray1<int>> theEndIndex;
0125 };
0126 
0127 #endif // _IGESDimen_DimensionDisplayData_HeaderFile