Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-05-21 08:28:39

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