MAIA bb96820c
Multiphysics at AIA
Loading...
Searching...
No Matches
FvMbCartesianSolverXD< nDim, SysEqn >::Csg Class Reference
Collaboration diagram for FvMbCartesianSolverXD< nDim, SysEqn >::Csg:
[legend]

Public Member Functions

 Csg ()
 
 Csg (std::vector< CsgPolygon > _polygons)
 
 ~Csg ()=default
 
std::vector< CsgPolygonintersect (const Csg &csg) const
 
void inverse ()
 

Public Attributes

std::vector< CsgPolygonpolygons
 

Detailed Description

template<MInt nDim, class SysEqn>
class FvMbCartesianSolverXD< nDim, SysEqn >::Csg

Definition at line 1741 of file fvmbcartesiansolverxd.h.

Constructor & Destructor Documentation

◆ Csg() [1/2]

template<MInt nDim, class SysEqn >
FvMbCartesianSolverXD< nDim, SysEqn >::Csg::Csg ( )
inline

Definition at line 1745 of file fvmbcartesiansolverxd.h.

1745{ polygons.clear(); }
std::vector< CsgPolygon > polygons

◆ Csg() [2/2]

template<MInt nDim, class SysEqn >
FvMbCartesianSolverXD< nDim, SysEqn >::Csg::Csg ( std::vector< CsgPolygon _polygons)
inlineexplicit

Definition at line 1747 of file fvmbcartesiansolverxd.h.

1747 {
1748 for(MInt i = 0; (unsigned)i < _polygons.size(); i++) {
1749 polygons.push_back(_polygons[i].clone());
1750 }
1751 }
int32_t MInt
Definition: maiatypes.h:62

◆ ~Csg()

template<MInt nDim, class SysEqn >
FvMbCartesianSolverXD< nDim, SysEqn >::Csg::~Csg ( )
default

Member Function Documentation

◆ intersect()

template<MInt nDim, class SysEqn >
std::vector< CsgPolygon > FvMbCartesianSolverXD< nDim, SysEqn >::Csg::intersect ( const Csg csg) const
inline

Definition at line 1755 of file fvmbcartesiansolverxd.h.

1755 {
1756 CsgNode a(this->polygons);
1757 CsgNode b(csg.polygons);
1758
1759 b.invert();
1760 b.clipTo(a);
1761 b.invert();
1762 a.clipTo(b);
1763 b.clipTo(a);
1764 a.build(b.allPolygons());
1765
1766 return a.allPolygons();
1767 }
Definition: contexttypes.h:19

◆ inverse()

template<MInt nDim, class SysEqn >
void FvMbCartesianSolverXD< nDim, SysEqn >::Csg::inverse ( )
inline

Definition at line 1769 of file fvmbcartesiansolverxd.h.

1769 {
1770 for(MInt i = 0; (unsigned)i < this->polygons.size(); i++) {
1771 this->polygons[i].flip();
1772 }
1773 }

Member Data Documentation

◆ polygons

template<MInt nDim, class SysEqn >
std::vector<CsgPolygon> FvMbCartesianSolverXD< nDim, SysEqn >::Csg::polygons

Definition at line 1743 of file fvmbcartesiansolverxd.h.


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