Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-09-18 09:20:42

0001 // Created on: 1993-01-11
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 _IGESAppli_LineWidening_HeaderFile
0018 #define _IGESAppli_LineWidening_HeaderFile
0019 
0020 #include <Standard.hxx>
0021 
0022 #include <Standard_Integer.hxx>
0023 #include <Standard_Real.hxx>
0024 #include <IGESData_IGESEntity.hxx>
0025 
0026 //! defines LineWidening, Type <406> Form <5>
0027 //! in package IGESAppli
0028 //! Defines the characteristics of entities when they are
0029 //! used to define locations of items.
0030 class IGESAppli_LineWidening : public IGESData_IGESEntity
0031 {
0032 
0033 public:
0034   Standard_EXPORT IGESAppli_LineWidening();
0035 
0036   //! This method is used to set the fields of the class
0037   //! LineWidening
0038   //! - nbPropVal   : Number of property values = 5
0039   //! - aWidth      : Width of metalization
0040   //! - aCornering  : Cornering codes
0041   //! 0 = rounded
0042   //! 1 = squared
0043   //! - aExtnFlag   : Extension Flag
0044   //! 0 = No Extension
0045   //! 1 = One-half width extension
0046   //! 2 = Extn set by ExtnVal
0047   //! - aJustifFlag : Justification flag
0048   //! 0 = Center justified
0049   //! 1 = left justified
0050   //! 2 = right justified
0051   //! - aExtnVal    : Extension value if aExtnFlag = 2
0052   Standard_EXPORT void Init(const int    nbPropVal,
0053                             const double aWidth,
0054                             const int    aCornering,
0055                             const int    aExtnFlag,
0056                             const int    aJustifFlag,
0057                             const double aExtnVal);
0058 
0059   //! returns the number of property values
0060   //! is always 5
0061   Standard_EXPORT int NbPropertyValues() const;
0062 
0063   //! returns the width of metallization
0064   Standard_EXPORT double WidthOfMetalization() const;
0065 
0066   //! returns the cornering code
0067   //! 0 = Rounded  / 1 = Squared
0068   Standard_EXPORT int CorneringCode() const;
0069 
0070   //! returns the extension flag
0071   //! 0 = No extension
0072   //! 1 = One-half width extension
0073   //! 2 = Extension set by theExtnVal
0074   Standard_EXPORT int ExtensionFlag() const;
0075 
0076   //! returns the justification flag
0077   //! 0 = Centre justified
0078   //! 1 = Left justified
0079   //! 2 = Right justified
0080   Standard_EXPORT int JustificationFlag() const;
0081 
0082   //! returns the Extension Value
0083   //! Present only if theExtnFlag = 2
0084   Standard_EXPORT double ExtensionValue() const;
0085 
0086   DEFINE_STANDARD_RTTIEXT(IGESAppli_LineWidening, IGESData_IGESEntity)
0087 
0088 private:
0089   int    theNbPropertyValues;
0090   double theWidth;
0091   int    theCorneringCode;
0092   int    theExtensionFlag;
0093   int    theJustificationFlag;
0094   double theExtensionValue;
0095 };
0096 
0097 #endif // _IGESAppli_LineWidening_HeaderFile