Blender V2.61 - r43446
|
Go to the source code of this file.
Defines | |
#define | NL_USE_SUPERLU |
#define | nlOPENNL_H |
#define | NL_VERSION_0_0 1 |
#define | NL_FALSE 0x0 |
#define | NL_TRUE 0x1 |
#define | NL_SYSTEM 0x0 |
#define | NL_MATRIX 0x1 |
#define | NL_SOLVER 0x100 |
#define | NL_NB_VARIABLES 0x101 |
#define | NL_LEAST_SQUARES 0x102 |
#define | NL_SYMMETRIC 0x106 |
#define | NL_ERROR 0x108 |
#define | NL_NB_ROWS 0x110 |
#define | NL_NB_RIGHT_HAND_SIDES 0x112 |
Typedefs | |
typedef unsigned int | NLenum |
typedef unsigned char | NLboolean |
typedef unsigned int | NLbitfield |
typedef void | NLvoid |
typedef signed char | NLbyte |
typedef short | NLshort |
typedef int | NLint |
typedef unsigned char | NLubyte |
typedef unsigned short | NLushort |
typedef unsigned int | NLuint |
typedef int | NLsizei |
typedef float | NLfloat |
typedef double | NLdouble |
typedef void * | NLContext |
Functions | |
NLContext | nlNewContext (void) |
void | nlDeleteContext (NLContext context) |
void | nlMakeCurrent (NLContext context) |
NLContext | nlGetCurrent (void) |
void | nlSolverParameterf (NLenum pname, NLfloat param) |
void | nlSolverParameteri (NLenum pname, NLint param) |
void | nlGetBooleanv (NLenum pname, NLboolean *params) |
void | nlGetFloatv (NLenum pname, NLfloat *params) |
void | nlGetIntergerv (NLenum pname, NLint *params) |
void | nlEnable (NLenum pname) |
void | nlDisable (NLenum pname) |
NLboolean | nlIsEnabled (NLenum pname) |
void | nlSetVariable (NLuint rhsindex, NLuint index, NLfloat value) |
NLfloat | nlGetVariable (NLuint rhsindex, NLuint index) |
void | nlLockVariable (NLuint index) |
void | nlUnlockVariable (NLuint index) |
NLboolean | nlVariableIsLocked (NLuint index) |
void | nlBegin (NLenum primitive) |
void | nlEnd (NLenum primitive) |
void | nlMatrixAdd (NLuint row, NLuint col, NLfloat value) |
void | nlRightHandSideAdd (NLuint rhsindex, NLuint index, NLfloat value) |
void | nlRightHandSideSet (NLuint rhsindex, NLuint index, NLfloat value) |
void | nlMatrixMultiply (NLfloat *x, NLfloat *y) |
void | nlPrintMatrix (void) |
NLboolean | nlSolve (void) |
NLboolean | nlSolveAdvanced (NLint *permutation, NLboolean solveAgain) |
Definition in file ONL_opennl.h.
#define NL_ERROR 0x108 |
Definition at line 90 of file ONL_opennl.h.
Referenced by nlGetFloatv().
#define NL_FALSE 0x0 |
Definition at line 76 of file ONL_opennl.h.
Referenced by __nlFree_SUPERLU(), nlIsEnabled(), nlSolve(), and nlUnlockVariable().
#define NL_LEAST_SQUARES 0x102 |
Definition at line 88 of file ONL_opennl.h.
Referenced by laplacian_system_construct_begin(), nlGetBooleanv(), nlGetFloatv(), nlGetIntergerv(), nlSolverParameterf(), nlSolverParameteri(), and p_chart_lscm_begin().
#define NL_MATRIX 0x1 |
Definition at line 82 of file ONL_opennl.h.
Referenced by laplacian_begin_solve(), laplacian_system_solve(), meshdeform_matrix_solve(), nlBegin(), nlEnd(), p_abf_matrix_invert(), p_chart_lscm_solve(), softbody_calc_forces(), and weightToHarmonic().
#define NL_NB_RIGHT_HAND_SIDES 0x112 |
Definition at line 92 of file ONL_opennl.h.
Referenced by meshdeform_matrix_solve(), nlSolverParameterf(), and nlSolverParameteri().
#define NL_NB_ROWS 0x110 |
Definition at line 91 of file ONL_opennl.h.
Referenced by meshdeform_matrix_solve(), nlGetFloatv(), nlGetIntergerv(), nlSolverParameterf(), nlSolverParameteri(), and p_chart_lscm_begin().
#define NL_NB_VARIABLES 0x101 |
Definition at line 87 of file ONL_opennl.h.
Referenced by laplacian_system_construct_begin(), meshdeform_matrix_solve(), nlGetFloatv(), nlGetIntergerv(), nlSolverParameterf(), nlSolverParameteri(), p_abf_matrix_invert(), p_chart_lscm_begin(), and weightToHarmonic().
#define NL_SOLVER 0x100 |
Definition at line 86 of file ONL_opennl.h.
#define NL_SYMMETRIC 0x106 |
Definition at line 89 of file ONL_opennl.h.
Referenced by nlGetBooleanv(), nlGetFloatv(), nlGetIntergerv(), nlSolverParameterf(), and nlSolverParameteri().
#define NL_SYSTEM 0x0 |
Definition at line 81 of file ONL_opennl.h.
Referenced by laplacian_begin_solve(), laplacian_system_solve(), meshdeform_matrix_solve(), nlBegin(), nlEnd(), p_abf_matrix_invert(), p_chart_lscm_solve(), softbody_calc_forces(), and weightToHarmonic().
#define NL_TRUE 0x1 |
Definition at line 77 of file ONL_opennl.h.
Referenced by __nlBeginMatrix(), __nlBeginSystem(), __nlEndMatrix(), __nlFactorize_SUPERLU(), laplacian_system_construct_begin(), laplacian_system_solve(), meshdeform_matrix_solve(), nlLockVariable(), nlSolveAdvanced(), p_chart_lscm_begin(), p_chart_lscm_solve(), and weightToHarmonic().
#define NL_USE_SUPERLU |
Definition at line 45 of file ONL_opennl.h.
#define NL_VERSION_0_0 1 |
Definition at line 54 of file ONL_opennl.h.
#define nlOPENNL_H |
Definition at line 48 of file ONL_opennl.h.
typedef unsigned int NLbitfield |
Definition at line 60 of file ONL_opennl.h.
typedef unsigned char NLboolean |
Definition at line 59 of file ONL_opennl.h.
typedef signed char NLbyte |
Definition at line 62 of file ONL_opennl.h.
typedef void* NLContext |
Definition at line 72 of file ONL_opennl.h.
typedef double NLdouble |
Definition at line 70 of file ONL_opennl.h.
typedef unsigned int NLenum |
Definition at line 58 of file ONL_opennl.h.
typedef float NLfloat |
Definition at line 69 of file ONL_opennl.h.
typedef int NLint |
Definition at line 64 of file ONL_opennl.h.
typedef short NLshort |
Definition at line 63 of file ONL_opennl.h.
typedef int NLsizei |
Definition at line 68 of file ONL_opennl.h.
typedef unsigned char NLubyte |
Definition at line 65 of file ONL_opennl.h.
typedef unsigned int NLuint |
Definition at line 67 of file ONL_opennl.h.
typedef unsigned short NLushort |
Definition at line 66 of file ONL_opennl.h.
typedef void NLvoid |
Definition at line 61 of file ONL_opennl.h.
void nlBegin | ( | NLenum | primitive | ) |
Definition at line 1003 of file opennl.c.
References __nl_assert_not_reached, __nlBeginMatrix(), __nlBeginSystem(), NL_MATRIX, and NL_SYSTEM.
Referenced by laplacian_begin_solve(), meshdeform_matrix_solve(), p_abf_matrix_invert(), p_chart_lscm_solve(), and weightToHarmonic().
void nlDeleteContext | ( | NLContext | context | ) |
Definition at line 552 of file opennl.c.
References __NL_CLEAR, __NL_DELETE, __NL_DELETE_ARRAY, __nlFree_SUPERLU(), __nlRowColumnDestroy(), __nlSparseMatrixDestroy(), __NLVariable::a, __NLContext::alloc_b, __NLContext::alloc_M, __NLContext::alloc_Mtb, __NLContext::alloc_MtM, __NLContext::__NLSuperLUContext::alloc_slu, __NLContext::alloc_variable, __NLContext::alloc_x, __NLContext::b, i, __NLContext::M, __NLContext::Mtb, __NLContext::MtM, __NLContext::nb_variables, NULL, __NLContext::slu, __NLContext::variable, and __NLContext::x.
Referenced by laplacian_system_delete(), meshdeform_matrix_solve(), p_abf_matrix_invert(), p_chart_lscm_end(), and weightToHarmonic().
void nlDisable | ( | NLenum | pname | ) |
Definition at line 732 of file opennl.c.
References __nl_assert_not_reached.
void nlEnable | ( | NLenum | pname | ) |
Definition at line 724 of file opennl.c.
References __nl_assert_not_reached.
void nlEnd | ( | NLenum | primitive | ) |
Definition at line 1017 of file opennl.c.
References __nl_assert_not_reached, __nlEndMatrix(), __nlEndSystem(), NL_MATRIX, and NL_SYSTEM.
Referenced by laplacian_system_solve(), meshdeform_matrix_solve(), p_abf_matrix_invert(), p_chart_lscm_solve(), softbody_calc_forces(), and weightToHarmonic().
Definition at line 664 of file opennl.c.
References __nl_assert_not_reached, __NLContext::least_squares, NL_LEAST_SQUARES, NL_SYMMETRIC, and __NLContext::symmetric.
NLContext nlGetCurrent | ( | void | ) |
Definition at line 596 of file opennl.c.
References __nlCurrentContext.
Referenced by laplacian_system_construct_begin(), meshdeform_matrix_solve(), p_abf_matrix_invert(), p_chart_lscm_begin(), and weightToHarmonic().
Definition at line 678 of file opennl.c.
References __nl_assert_not_reached, __NLContext::error, __NLContext::least_squares, __NLContext::nb_rows, __NLContext::nb_variables, NL_ERROR, NL_LEAST_SQUARES, NL_NB_ROWS, NL_NB_VARIABLES, NL_SYMMETRIC, and __NLContext::symmetric.
Definition at line 701 of file opennl.c.
References __nl_assert_not_reached, __NLContext::least_squares, __NLContext::nb_rows, __NLContext::nb_variables, NL_LEAST_SQUARES, NL_NB_ROWS, NL_NB_VARIABLES, NL_SYMMETRIC, and __NLContext::symmetric.
Definition at line 758 of file opennl.c.
References __nl_assert, __nl_parano_range_assert, __NL_STATE_INITIAL, __NLContext::nb_variables, __NLContext::state, __NLVariable::value, and __NLContext::variable.
Referenced by laplacian_system_get_solution(), meshdeform_matrix_solve(), p_abf_matrix_invert(), p_chart_lscm_load_solution(), softbody_calc_forces(), and weightToHarmonic().
Definition at line 740 of file opennl.c.
References __nl_assert_not_reached, and NL_FALSE.
void nlLockVariable | ( | NLuint | index | ) |
Definition at line 764 of file opennl.c.
References __nl_parano_range_assert, __NL_STATE_SYSTEM, __nlCheckState(), __NLVariable::locked, __NLContext::nb_variables, NL_TRUE, and __NLContext::variable.
Referenced by laplacian_begin_solve(), p_chart_lscm_solve(), and weightToHarmonic().
void nlMakeCurrent | ( | NLContext | context | ) |
Definition at line 592 of file opennl.c.
Referenced by nlNewContext(), and p_chart_lscm_solve().
Definition at line 932 of file opennl.c.
References __nl_range_assert, __NL_STATE_MATRIX, __nlCheckState(), __nlCurrentContext, __nlRowColumnAppend(), __nlSparseMatrixAdd(), __NLVariable::a, __NLVariable::index, __NLContext::least_squares, __NLVariable::locked, __NLContext::m, __NLContext::M, M, __NLContext::n, __NLContext::solve_again, and __NLContext::variable.
Referenced by addTriangle(), laplacian_system_construct_end(), laplacian_triangle_weights(), meshdeform_matrix_add_cell(), p_abf_matrix_invert(), and p_chart_lscm_solve().
NLContext nlNewContext | ( | void | ) |
Definition at line 541 of file opennl.c.
References __NL_NEW, __NL_STATE_INITIAL, __nlMatrixVectorProd_default(), __NLContext::matrix_vector_prod, __NLContext::nb_rhs, nlMakeCurrent(), and __NLContext::state.
Referenced by laplacian_system_construct_begin(), meshdeform_matrix_solve(), p_abf_matrix_invert(), p_chart_lscm_begin(), and weightToHarmonic().
void nlPrintMatrix | ( | void | ) |
Definition at line 1178 of file opennl.c.
References __nlCurrentContext, __NLContext::alloc_MtM, __NLContext::b, __NLRowColumn::coeff, addon::engine::free(), i, __NLCoeff::index, M, __NLContext::M, __NLContext::m, __NLContext::Mtb, __NLContext::MtM, __NLContext::n, __NLContext::nb_rhs, NULL, __NLSparseMatrix::row, __NLRowColumn::size, and __NLCoeff::value.
Referenced by meshdeform_matrix_solve(), and softbody_calc_forces().
Definition at line 961 of file opennl.c.
References __nl_range_assert, __NL_STATE_MATRIX, __nlCheckState(), __nlCurrentContext, __NLContext::b, __NLVariable::index, __NLContext::least_squares, __NLVariable::locked, __NLContext::m, and __NLContext::variable.
Referenced by laplacian_add_right_hand_side(), meshdeform_matrix_add_rhs(), and p_abf_matrix_invert().
Definition at line 982 of file opennl.c.
References __nl_range_assert, __NL_STATE_MATRIX, __nlCheckState(), __nlCurrentContext, __NLContext::b, __NLVariable::index, __NLContext::least_squares, __NLVariable::locked, __NLContext::m, and __NLContext::variable.
Referenced by softbody_calc_forces().
Definition at line 752 of file opennl.c.
References __nl_parano_range_assert, __NL_STATE_SYSTEM, __nlCheckState(), __NLContext::nb_variables, __NLVariable::value, and __NLContext::variable.
Referenced by laplacian_begin_solve(), p_chart_lscm_solve(), and weightToHarmonic().
NLboolean nlSolve | ( | void | ) |
Definition at line 1262 of file opennl.c.
References NL_FALSE, nlSolveAdvanced(), and NULL.
Referenced by p_abf_matrix_invert().
Definition at line 1238 of file opennl.c.
References __NL_STATE_SYSTEM_CONSTRUCTED, __NL_STATE_SYSTEM_SOLVED, __nlCheckState(), __nlFactorize_SUPERLU(), __nlInvert_SUPERLU(), __nlTransition(), __nlVectorToVariables(), NL_TRUE, and __NLContext::solve_again.
Referenced by laplacian_system_solve(), meshdeform_matrix_solve(), nlSolve(), p_chart_lscm_solve(), softbody_calc_forces(), and weightToHarmonic().
Definition at line 612 of file opennl.c.
References __nl_assert, __nl_assert_not_reached, __NL_STATE_INITIAL, __nlCheckState(), __NLContext::least_squares, __NLContext::nb_rhs, __NLContext::nb_rows, __NLContext::nb_variables, NL_LEAST_SQUARES, NL_NB_RIGHT_HAND_SIDES, NL_NB_ROWS, NL_NB_VARIABLES, NL_SYMMETRIC, and __NLContext::symmetric.
Definition at line 638 of file opennl.c.
References __nl_assert, __nl_assert_not_reached, __NL_STATE_INITIAL, __nlCheckState(), __NLContext::least_squares, __NLContext::nb_rhs, __NLContext::nb_rows, __NLContext::nb_variables, NL_LEAST_SQUARES, NL_NB_RIGHT_HAND_SIDES, NL_NB_ROWS, NL_NB_VARIABLES, NL_SYMMETRIC, and __NLContext::symmetric.
Referenced by laplacian_system_construct_begin(), meshdeform_matrix_solve(), p_abf_matrix_invert(), p_chart_lscm_begin(), and weightToHarmonic().
void nlUnlockVariable | ( | NLuint | index | ) |
Definition at line 770 of file opennl.c.
References __nl_parano_range_assert, __NL_STATE_SYSTEM, __nlCheckState(), __NLVariable::locked, __NLContext::nb_variables, NL_FALSE, and __NLContext::variable.
Definition at line 776 of file opennl.c.
References __nl_assert, __nl_parano_range_assert, __NL_STATE_INITIAL, __NLVariable::locked, __NLContext::nb_variables, __NLContext::state, and __NLContext::variable.