AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
axom::quest::GWNMomentData< T, NDIMS, ORD > Class Template Reference

#include </home/docs/checkouts/readthedocs.org/user_builds/axom/checkouts/develop/src/axom/quest/FastApproximateGWN.hpp>

Public Member Functions

 GWNMomentData ()=default
 
 GWNMomentData (const axom::primal::Triangle< T, 3 > &a_tri)
 Construct moments from a 3D triangle. More...
 
 GWNMomentData (const axom::primal::NURBSPatch< T, 3 > &a_patch)
 Construct moments from a trimmed NURBS surface. More...
 
 GWNMomentData (const axom::primal::NURBSCurve< T, 2 > &c)
 Construct moments from the endpoints of a 2D segment. More...
 
 GWNMomentData (const axom::primal::Segment< T, 2 > &s)
 Construct moments from a 2D Segment. More...
 
 GWNMomentData (const axom::primal::Point< T, 2 > &p0, const axom::primal::Point< T, 2 > &p1)
 Construct moments from the endpoints of a 2D segment. More...
 
double approx_winding_number (axom::primal::Point< T, NDIMS > query) const
 
axom::primal::Point< T, NDIMS > getCenter () const
 Return the center of the Taylor expansion. More...
 
axom::primal::Vector< T, 3 > getNormal () const
 Return the normal if computed from 3D data. More...
 
double getSurfaceArea () const
 Return the surface area if computed from 3D data. More...
 

Public Attributes

axom::primal::Vector< T, NDIMS > ap
 
double a {}
 
axom::StackArray< T, NumberOfEntries > rm {}
 
axom::StackArray< T, NumberOfEntries > ec {}
 

Friends

GWNMomentData operator+ (GWNMomentData &b1, GWNMomentData &b2)
 

Constructor & Destructor Documentation

◆ GWNMomentData() [1/6]

template<typename T , int NDIMS, int ORD>
axom::quest::GWNMomentData< T, NDIMS, ORD >::GWNMomentData ( )
default

◆ GWNMomentData() [2/6]

◆ GWNMomentData() [3/6]

template<typename T , int NDIMS, int ORD>
axom::quest::GWNMomentData< T, NDIMS, ORD >::GWNMomentData ( const axom::primal::NURBSPatch< T, 3 > &  a_patch)
inlineexplicit

◆ GWNMomentData() [4/6]

template<typename T , int NDIMS, int ORD>
axom::quest::GWNMomentData< T, NDIMS, ORD >::GWNMomentData ( const axom::primal::NURBSCurve< T, 2 > &  c)
inlineexplicit

Construct moments from the endpoints of a 2D segment.

◆ GWNMomentData() [5/6]

template<typename T , int NDIMS, int ORD>
axom::quest::GWNMomentData< T, NDIMS, ORD >::GWNMomentData ( const axom::primal::Segment< T, 2 > &  s)
inlineexplicit

Construct moments from a 2D Segment.

◆ GWNMomentData() [6/6]

template<typename T , int NDIMS, int ORD>
axom::quest::GWNMomentData< T, NDIMS, ORD >::GWNMomentData ( const axom::primal::Point< T, 2 > &  p0,
const axom::primal::Point< T, 2 > &  p1 
)
inlineexplicit

Member Function Documentation

◆ approx_winding_number()

template<typename T , int NDIMS, int ORD>
double axom::quest::GWNMomentData< T, NDIMS, ORD >::approx_winding_number ( axom::primal::Point< T, NDIMS >  query) const
inline

◆ getCenter()

template<typename T , int NDIMS, int ORD>
axom::primal::Point<T, NDIMS> axom::quest::GWNMomentData< T, NDIMS, ORD >::getCenter ( ) const
inline

Return the center of the Taylor expansion.

References axom::quest::GWNMomentData< T, NDIMS, ORD >::a, and axom::quest::GWNMomentData< T, NDIMS, ORD >::ap.

◆ getNormal()

template<typename T , int NDIMS, int ORD>
axom::primal::Vector<T, 3> axom::quest::GWNMomentData< T, NDIMS, ORD >::getNormal ( ) const
inline

Return the normal if computed from 3D data.

References axom::quest::GWNMomentData< T, NDIMS, ORD >::ec.

◆ getSurfaceArea()

template<typename T , int NDIMS, int ORD>
double axom::quest::GWNMomentData< T, NDIMS, ORD >::getSurfaceArea ( ) const
inline

Return the surface area if computed from 3D data.

References axom::quest::GWNMomentData< T, NDIMS, ORD >::a.

Friends And Related Function Documentation

◆ operator+

template<typename T , int NDIMS, int ORD>
GWNMomentData operator+ ( GWNMomentData< T, NDIMS, ORD > &  b1,
GWNMomentData< T, NDIMS, ORD > &  b2 
)
friend

Addition overload to find the sum of two sets of raw moments. TODO: Technically, the raw moments for b1 and b2 can be deallocated after this function is called, which would decrease the memory footprint

Member Data Documentation

◆ ap

template<typename T , int NDIMS, int ORD>
axom::primal::Vector<T, NDIMS> axom::quest::GWNMomentData< T, NDIMS, ORD >::ap

◆ a

template<typename T , int NDIMS, int ORD>
double axom::quest::GWNMomentData< T, NDIMS, ORD >::a {}

◆ rm

template<typename T , int NDIMS, int ORD>
axom::StackArray<T, NumberOfEntries> axom::quest::GWNMomentData< T, NDIMS, ORD >::rm {}

◆ ec

template<typename T , int NDIMS, int ORD>
axom::StackArray<T, NumberOfEntries> axom::quest::GWNMomentData< T, NDIMS, ORD >::ec {}

The documentation for this class was generated from the following file: