19 #ifndef __itkFEMLinearSystemWrapper_h
20 #define __itkFEMLinearSystemWrapper_h
87 virtual void Clean(
void);
187 virtual void DestroyMatrix(
unsigned int matrixIndex = 0) = 0;
207 virtual void DestroyVector(
unsigned int vectorIndex = 0) = 0;
234 virtual Float GetMatrixValue(
unsigned int i,
unsigned int j,
unsigned int matrixIndex = 0)
const = 0;
243 virtual void SetMatrixValue(
unsigned int i,
unsigned int j,
Float value,
unsigned int matrixIndex = 0) = 0;
252 virtual void AddMatrixValue(
unsigned int i,
unsigned int j,
Float value,
unsigned int matrixIndex = 0) = 0;
267 unsigned int matrixIndex = 0);
282 virtual void SetVectorValue(
unsigned int i,
Float value,
unsigned int vectorIndex = 0) = 0;
290 virtual void AddVectorValue(
unsigned int i,
Float value,
unsigned int vectorIndex = 0) = 0;
317 virtual void Solve(
void) = 0;
324 virtual void SwapMatrices(
unsigned int matrixIndex1,
unsigned int matrixIndex2) = 0;
333 virtual void CopyMatrix(
unsigned int matrixIndex1,
unsigned int matrixIndex2);
340 virtual void SwapVectors(
unsigned int vectorIndex1,
unsigned int vectorIndex2) = 0;
347 virtual void SwapSolutions(
unsigned int solutionIndex1,
unsigned int solutionIndex2) = 0;
377 unsigned int rightMatrixIndex) = 0;
385 virtual void AddMatrixMatrix(
unsigned int matrixIndex1,
unsigned int matrixIndex2);
393 virtual void AddVectorVector(
unsigned int vectorIndex1,
unsigned int vectorIndex2);
401 virtual void MultiplyMatrixVector(
unsigned int resultVectorIndex,
unsigned int matrixIndex,
unsigned int vectorIndex);
409 virtual void MultiplyMatrixSolution(
unsigned int resultVectorIndex,
unsigned int matrixIndex,
unsigned int solutionIndex);
416 virtual void CopySolution2Vector(
unsigned int solutionIndex,
unsigned int vectorIndex) = 0;
423 virtual void CopyVector2Solution(
unsigned int vectorIndex,
unsigned int solutionIndex) = 0;
430 virtual void CopyVector(
unsigned int vectorSource,
unsigned int vectorDestination);
489 ColumnArray & newNumbering,
unsigned int nextRowNumber,
490 unsigned int matrixIndex = 0);
508 FEMExceptionLinearSystem(
const char *file,
unsigned int lineNumber, std::string location, std::string moreDescription);
529 std::string moreDescription,
530 unsigned int index1);
537 std::string moreDescription,
unsigned int index1,
538 unsigned int index2);
552 #endif // #ifndef __itkFEMLinearSystemWrapper_h