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);
490 ColumnArray & newNumbering,
unsigned int nextRowNumber,
491 unsigned int matrixIndex = 0);
509 FEMExceptionLinearSystem(
const char *file,
unsigned int lineNumber, std::string location, std::string moreDescription);
530 std::string moreDescription,
531 unsigned int index1);
538 std::string moreDescription,
unsigned int index1,
539 unsigned int index2);
553 #endif // #ifndef __itkFEMLinearSystemWrapper_h