⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 taucssolver.h

📁 finite element mesh 参数化有限元网格划分
💻 H
字号:
//=============================================================================
//   Simplified version of:                                                                         
//   Example code for the full-day course
//
//   M. Botsch, M. Pauly, L. Kobbelt, P. Alliez, B. Levy,
//   "Geometric Modeling Based on Polygonal Meshes"
//   held at SIGGRAPH 2007, San Diego, and Eurographics 2008, Crete.
//
//   Copyright (C) 2007 by  Computer Graphics Laboratory, ETH Zurich, 
//                      and Computer Graphics Group,      RWTH Aachen
//
//                                                                            
//-----------------------------------------------------------------------------
//                                                                            
//                                License                                     
//                                                                            
//   This program is free software; you can redistribute it and/or
//   modify it under the terms of the GNU General Public License
//   as published by the Free Software Foundation; either version 2
//   of the License, or (at your option) any later version.
//   
//   This program is distributed in the hope that it will be useful,
//   but WITHOUT ANY WARRANTY; without even the implied warranty of
//   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//   GNU General Public License for more details.
//   
//   You should have received a copy of the GNU General Public License
//   along with this program; if not, write to the Free Software
//   Foundation, Inc., 51 Franklin Street, Fifth Floor, 
//   Boston, MA  02110-1301, USA.
//                                                                            
//=============================================================================
//=============================================================================
//
//  CLASS TaucsSolver: 
//  direct solver for symmetric positive definite sparse systems
//
//=============================================================================


#ifndef TAUCS_SOLVER_HH
#define TAUCS_SOLVER_HH



//== INCLUDES =================================================================
#include <vector>
#include <set>
#include <taucs.h>


//== CLASS DEFINITION =========================================================


class TaucsSolver
{
public:
   
  TaucsSolver();
  ~TaucsSolver();

  void begin_row();
  void add_value(int _i, double _val);
  void end_row();

  bool factorize();

  bool solve(std::vector<double>& _b, std::vector<double>& _x);


private:

  void delete_matrices();


private:
  void						 *F;
  taucs_ccs_matrix           A;
  std::vector<double>        values;
  std::vector<int>           colptr;
  std::vector<int>           rowind;
  int                        n_rows;
};


//=============================================================================
#endif // TAUCS_SOLVER_HH defined
//=============================================================================

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -