File indexing completed on 2025-01-18 10:03:30
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _FEmTool_Assembly_HeaderFile
0018 #define _FEmTool_Assembly_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 #include <Standard_Handle.hxx>
0023
0024 #include <TColStd_Array2OfInteger.hxx>
0025 #include <FEmTool_HAssemblyTable.hxx>
0026 #include <math_Vector.hxx>
0027 #include <FEmTool_SeqOfLinConstr.hxx>
0028 #include <TColStd_SequenceOfReal.hxx>
0029 #include <Standard_Integer.hxx>
0030 #include <Standard_Real.hxx>
0031 class FEmTool_ProfileMatrix;
0032 class math_Matrix;
0033
0034
0035
0036 class FEmTool_Assembly
0037 {
0038 public:
0039
0040 DEFINE_STANDARD_ALLOC
0041
0042
0043 Standard_EXPORT FEmTool_Assembly(const TColStd_Array2OfInteger& Dependence, const Handle(FEmTool_HAssemblyTable)& Table);
0044
0045
0046 Standard_EXPORT void NullifyMatrix();
0047
0048
0049
0050 Standard_EXPORT void AddMatrix (const Standard_Integer Element, const Standard_Integer Dimension1, const Standard_Integer Dimension2, const math_Matrix& Mat);
0051
0052
0053 Standard_EXPORT void NullifyVector();
0054
0055
0056 Standard_EXPORT void AddVector (const Standard_Integer Element, const Standard_Integer Dimension, const math_Vector& Vec);
0057
0058
0059 Standard_EXPORT void ResetConstraint();
0060
0061
0062 Standard_EXPORT void NullifyConstraint();
0063
0064 Standard_EXPORT void AddConstraint (const Standard_Integer IndexofConstraint, const Standard_Integer Element, const Standard_Integer Dimension, const math_Vector& LinearForm, const Standard_Real Value);
0065
0066
0067
0068 Standard_EXPORT Standard_Boolean Solve();
0069
0070 Standard_EXPORT void Solution (math_Vector& Solution) const;
0071
0072 Standard_EXPORT Standard_Integer NbGlobVar() const;
0073
0074 Standard_EXPORT void GetAssemblyTable (Handle(FEmTool_HAssemblyTable)& AssTable) const;
0075
0076
0077
0078
0079 protected:
0080
0081
0082
0083
0084
0085 private:
0086
0087
0088
0089 TColStd_Array2OfInteger myDepTable;
0090 Handle(FEmTool_HAssemblyTable) myRefTable;
0091 Standard_Boolean IsSolved;
0092 Handle(FEmTool_ProfileMatrix) H;
0093 math_Vector B;
0094 Handle(FEmTool_ProfileMatrix) GHGt;
0095 FEmTool_SeqOfLinConstr G;
0096 TColStd_SequenceOfReal C;
0097
0098
0099 };
0100
0101
0102
0103
0104
0105
0106
0107 #endif