1 // Created on: 1993-01-09 2 // Created by: CKY / Contract Toubro-Larsen ( SIVA ) 3 // Copyright (c) 1993-1999 Matra Datavision 4 // Copyright (c) 1999-2014 OPEN CASCADE SAS 5 // 6 // This file is part of Open CASCADE Technology software library. 7 // 8 // This library is free software; you can redistribute it and/or modify it under 9 // the terms of the GNU Lesser General Public License version 2.1 as published 10 // by the Free Software Foundation, with special exception defined in the file 11 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT 12 // distribution for complete text of the license and disclaimer of any warranty. 13 // 14 // Alternatively, this file may be used under the terms of Open CASCADE 15 // commercial license or contractual agreement. 16 17 #ifndef _IGESDefs_TabularData_HeaderFile 18 #define _IGESDefs_TabularData_HeaderFile 19 20 #include <Standard.hxx> 21 #include <Standard_Type.hxx> 22 23 #include <Standard_Integer.hxx> 24 #include <TColStd_HArray1OfInteger.hxx> 25 #include <IGESData_IGESEntity.hxx> 26 #include <Standard_Boolean.hxx> 27 #include <Standard_Real.hxx> 28 #include <TColStd_HArray1OfReal.hxx> 29 class IGESBasic_HArray1OfHArray1OfReal; 30 31 32 class IGESDefs_TabularData; 33 DEFINE_STANDARD_HANDLE(IGESDefs_TabularData, IGESData_IGESEntity) 34 35 //! Defines IGES Tabular Data, Type <406> Form <11>, 36 //! in package IGESDefs 37 //! This Class is used to provide a Structure to accommodate 38 //! point form data. 39 class IGESDefs_TabularData : public IGESData_IGESEntity 40 { 41 42 public: 43 44 45 Standard_EXPORT IGESDefs_TabularData(); 46 47 //! This method is used to set the fields of the class 48 //! TabularData 49 //! - nbProps : Number of property values 50 //! - propType : Property Type 51 //! - typesInd : Type of independent variables 52 //! - nbValuesInd : Number of values of independent variables 53 //! - valuesInd : Values of independent variables 54 //! - valuesDep : Values of dependent variables 55 //! raises exception if lengths of typeInd and nbValuesInd are not same 56 Standard_EXPORT void Init (const Standard_Integer nbProps, const Standard_Integer propType, const Handle(TColStd_HArray1OfInteger)& typesInd, const Handle(TColStd_HArray1OfInteger)& nbValuesInd, const Handle(IGESBasic_HArray1OfHArray1OfReal)& valuesInd, const Handle(IGESBasic_HArray1OfHArray1OfReal)& valuesDep); 57 58 //! returns the number of property values (recorded) 59 Standard_EXPORT Standard_Integer NbPropertyValues() const; 60 61 //! determines the number of property values required 62 Standard_EXPORT Standard_Integer ComputedNbPropertyValues() const; 63 64 //! checks, and correct as necessary, the number of property 65 //! values. Returns True if corrected, False if already OK 66 Standard_EXPORT Standard_Boolean OwnCorrect(); 67 68 //! returns the property type 69 Standard_EXPORT Standard_Integer PropertyType() const; 70 71 //! returns the number of dependent variables 72 Standard_EXPORT Standard_Integer NbDependents() const; 73 74 //! returns the number of independent variables 75 Standard_EXPORT Standard_Integer NbIndependents() const; 76 77 //! returns the type of the num'th independent variable 78 //! raises exception if num <= 0 or num > NbIndependents() 79 Standard_EXPORT Standard_Integer TypeOfIndependents (const Standard_Integer num) const; 80 81 //! returns the number of different values of the num'th indep. variable 82 //! raises exception if num <= 0 or num > NbIndependents() 83 Standard_EXPORT Standard_Integer NbValues (const Standard_Integer num) const; 84 85 Standard_EXPORT Standard_Real IndependentValue (const Standard_Integer variablenum, const Standard_Integer valuenum) const; 86 87 Standard_EXPORT Handle(TColStd_HArray1OfReal) DependentValues (const Standard_Integer num) const; 88 89 Standard_EXPORT Standard_Real DependentValue (const Standard_Integer variablenum, const Standard_Integer valuenum) const; 90 91 92 93 94 DEFINE_STANDARD_RTTIEXT(IGESDefs_TabularData,IGESData_IGESEntity) 95 96 protected: 97 98 99 100 101 private: 102 103 104 Standard_Integer theNbPropertyValues; 105 Standard_Integer thePropertyType; 106 Handle(TColStd_HArray1OfInteger) theTypeOfIndependentVariables; 107 Handle(TColStd_HArray1OfInteger) theNbValues; 108 Handle(IGESBasic_HArray1OfHArray1OfReal) theIndependentValues; 109 Handle(IGESBasic_HArray1OfHArray1OfReal) theDependentValues; 110 111 112 }; 113 114 115 116 117 118 119 120 #endif // _IGESDefs_TabularData_HeaderFile 121