Define functions to compute content (length, area, volume, etc.). More...
#include "../defs.h"
#include "Point.h"
#include "TensorTypes.h"
#include "../array/FixedArray.h"
#include <iosfwd>
#include <algorithm>
#include <functional>
#include <numeric>
#include <cassert>
#include <cmath>
#include "SquareMatrix.ipp"
Go to the source code of this file.
Functions | |
template<int N, typename T > | |
T | computeDistance (const ads::FixedArray< N, T > &x, const ads::FixedArray< N, T > &y) |
Return the distance between the points x and y . | |
template<int N, typename T > | |
T | computeDistance (const ads::FixedArray< 2, ads::FixedArray< N, T > > &x) |
Return the distance between the points x [0] and x [1]. | |
template<int N, typename T > | |
T | computeContent (const ads::FixedArray< N, T > &x, const ads::FixedArray< N, T > &y) |
Return the distance between the points x and y . | |
template<int N, typename T > | |
T | computeContent (const ads::FixedArray< 2, ads::FixedArray< N, T > > &x) |
Return the distance between the points x [0] and x [1]. | |
template<int N, typename T > | |
void | computeGradientOfDistance (const ads::FixedArray< N, T > &x, const ads::FixedArray< N, T > &y, ads::FixedArray< N, T > *gradient) |
Calculate the gradient (with respect to x) of the distance between the points x and y . | |
template<int N, typename T > | |
void | computeGradientOfDistance (const ads::FixedArray< 2, ads::FixedArray< N, T > > &x, ads::FixedArray< N, T > *gradient) |
Calculate the gradient (with respect to x[0]) of the distance between the points x [0] and x [1]. | |
template<int N, typename T > | |
void | computeGradientOfContent (const ads::FixedArray< N, T > &x, const ads::FixedArray< N, T > &y, ads::FixedArray< N, T > *gradient) |
Calculate the gradient (with respect to x) of the distance between the points x and y . | |
template<int N, typename T > | |
void | computeGradientOfContent (const ads::FixedArray< 2, ads::FixedArray< N, T > > &x, ads::FixedArray< N, T > *gradient) |
Calculate the gradient (with respect to x[0]) of the distance between the points x [0] and x [1]. | |
template<typename T > | |
T | computeArea (const ads::FixedArray< 2, T > &a, const ads::FixedArray< 2, T > &b, const ads::FixedArray< 2, T > &c) |
Return the area of the triangle with points a , b and c . | |
template<typename T > | |
T | computeArea (const ads::FixedArray< 3, ads::FixedArray< 2, T > > &p) |
Return the area of the triangle with points p [0], p [1] and p [2]. | |
template<typename T > | |
T | computeArea (const ads::FixedArray< 3, T > &a, const ads::FixedArray< 3, T > &b, const ads::FixedArray< 3, T > &c) |
Return the area of the triangle with points a , b and c . | |
template<typename T > | |
T | computeArea (const ads::FixedArray< 3, ads::FixedArray< 3, T > > &p) |
Return the area of the triangle with points p [0], p [1] and p [2]. | |
template<int N, typename T > | |
T | computeContent (const ads::FixedArray< N, T > &a, const ads::FixedArray< N, T > &b, const ads::FixedArray< N, T > &c) |
Return the area of the triangle with points a , b and c . | |
template<int N, typename T > | |
T | computeContent (const ads::FixedArray< 3, ads::FixedArray< N, T > > &p) |
Return the area of the triangle with points p [0], p [1] and p [2]. | |
template<typename T > | |
void | computeGradientOfArea (const ads::FixedArray< 2, T > &a, const ads::FixedArray< 2, T > &b, const ads::FixedArray< 2, T > &c, ads::FixedArray< 2, T > *gradient) |
Calculate the gradient (with respect to a) of the area of the triangle with points a , b and c . | |
template<typename T > | |
void | computeGradientOfArea (const ads::FixedArray< 3, T > &a, const ads::FixedArray< 3, T > &b, const ads::FixedArray< 3, T > &c, ads::FixedArray< 3, T > *gradient) |
Calculate the gradient (with respect to a) of the area of the triangle with points a , b and c . | |
template<int N, typename T > | |
void | computeGradientOfArea (const ads::FixedArray< 3, ads::FixedArray< N, T > > &p, ads::FixedArray< N, T > *gradient) |
Calculate the gradient (with respect to a) of the area of the triangle with points p [0], p [1] and p [2]. | |
template<int N, typename T > | |
void | computeGradientOfContent (const ads::FixedArray< N, T > &a, const ads::FixedArray< N, T > &b, const ads::FixedArray< N, T > &c, ads::FixedArray< N, T > *gradient) |
Calculate the gradient (with respect to a) of the area of the triangle with points a , b and c . | |
template<int N, typename T > | |
void | computeGradientOfContent (const ads::FixedArray< 3, ads::FixedArray< N, T > > &p, ads::FixedArray< N, T > *gradient) |
Calculate the gradient (with respect to a) of the area of the triangle with points p [0], p [1] and p [2]. | |
template<int N, typename T > | |
T | computeVolume (const ads::FixedArray< N, T > &a, const ads::FixedArray< N, T > &b, const ads::FixedArray< N, T > &c, const ads::FixedArray< N, T > &d) |
Return the volume of the tetrahedron with points a , b , c and d . | |
template<int N, typename T > | |
T | computeVolume (const ads::FixedArray< 4, ads::FixedArray< N, T > > &p) |
Return the volume of the tetrahedron with points p [0], p [1], p [2] and p [3]. | |
template<int N, typename T > | |
T | computeContent (const ads::FixedArray< N, T > &a, const ads::FixedArray< N, T > &b, const ads::FixedArray< N, T > &c, const ads::FixedArray< N, T > &d) |
Return the volume of the tetrahedron with points a , b , c and d . | |
template<int N, typename T > | |
T | computeContent (const ads::FixedArray< 4, ads::FixedArray< N, T > > &p) |
Return the volume of the tetrahedron with points p [0], p [1], p [2] and p [3]. | |
template<typename T > | |
void | computeGradientOfVolume (const ads::FixedArray< 3, T > &a, const ads::FixedArray< 3, T > &b, const ads::FixedArray< 3, T > &c, const ads::FixedArray< 3, T > &d, ads::FixedArray< 3, T > *gradient) |
Calculate the gradient (with respect to a) of the volume of the tetrahedron with points a , b , c and d . | |
template<int N, typename T > | |
void | computeGradientOfVolume (const ads::FixedArray< 4, ads::FixedArray< N, T > > &p, ads::FixedArray< N, T > *gradient) |
Calculate the gradient (with respect to a) of the volume of the tetrahedron with points p [0], p [1], p [2] and p [3]. | |
template<int N, typename T > | |
void | computeGradientOfContent (const ads::FixedArray< N, T > &a, const ads::FixedArray< N, T > &b, const ads::FixedArray< N, T > &c, const ads::FixedArray< N, T > &d, ads::FixedArray< N, T > *gradient) |
Calculate the gradient (with respect to a) of the volume of the tetrahedron with points a , b , c and d . | |
template<int N, typename T > | |
void | computeGradientOfContent (const ads::FixedArray< 4, ads::FixedArray< N, T > > &p, ads::FixedArray< N, T > *gradient) |
Calculate the gradient (with respect to a) of the volume of the tetrahedron with points p [0], p [1], p [2] and p [3]. |
Define functions to compute content (length, area, volume, etc.).