ThunderEgg  1.0.0
ThunderEgg::Schur::PatchIfaceInfo< D > Class Template Reference

This decorates a PatchInfo object with a IfaceInfo object for each side of the patch. More...

#include <PatchIfaceInfo.h>

Inheritance diagram for ThunderEgg::Schur::PatchIfaceInfo< D >:
Collaboration diagram for ThunderEgg::Schur::PatchIfaceInfo< D >:

Public Member Functions

 PatchIfaceInfo ()=default
 Construct a new PatchIfaceInfo object.
 
 PatchIfaceInfo (const PatchInfo< D > &pinfo)
 Construct a new PatchIfaceInfo object. More...
 
void setIfaceInfo (Side< D > s, std::shared_ptr< IfaceInfo< D >> info)
 Set the IfaceInfo object on a given side of the patch. More...
 
std::shared_ptr< IfaceInfo< D > > getIfaceInfo (Side< D > s)
 Get the IfaceInfo object on a given side of the patch. More...
 
std::shared_ptr< const IfaceInfo< D > > getIfaceInfo (Side< D > s) const
 Get the IfaceInfo object on a given side of the patch. More...
 
std::shared_ptr< NormalIfaceInfo< D > > getNormalIfaceInfo (Side< D > s)
 Get the NormalIfaceInfo object on a given side of the patch. More...
 
std::shared_ptr< const NormalIfaceInfo< D > > getNormalIfaceInfo (Side< D > s) const
 Get the NormalIfaceInfo object on a given side of the patch. More...
 
std::shared_ptr< CoarseIfaceInfo< D > > getCoarseIfaceInfo (Side< D > s)
 Get the CoarseIfaceInfo object on a given side of the patch. More...
 
std::shared_ptr< const CoarseIfaceInfo< D > > getCoarseIfaceInfo (Side< D > s) const
 Get the CoarseIfaceInfo object on a given side of the patch. More...
 
std::shared_ptr< FineIfaceInfo< D > > getFineIfaceInfo (Side< D > s)
 Get the FineIfaceInfo object on a given side of the patch. More...
 
std::shared_ptr< const FineIfaceInfo< D > > getFineIfaceInfo (Side< D > s) const
 Get the FineIfaceInfo object on a given side of the patch. More...
 
int serialize (char *buffer) const
 Serialize object into buffer. More...
 
int deserialize (char *buffer)
 Deserialize an object. More...
 
- Public Member Functions inherited from ThunderEgg::Serializable
virtual ~Serializable ()=default
 Destroy the Serializable object.
 

Public Attributes

PatchInfo< D > pinfo
 associated PatchInfo object
 
std::array< std::shared_ptr< IfaceInfo< D > >, Side< D >::number_of > iface_info
 Array of IfaceInfo objects.
 

Detailed Description

template<int D>
class ThunderEgg::Schur::PatchIfaceInfo< D >

This decorates a PatchInfo object with a IfaceInfo object for each side of the patch.

Template Parameters
Dthe number of Cartesian dimensions in a patch

Constructor & Destructor Documentation

◆ PatchIfaceInfo()

template<int D>
ThunderEgg::Schur::PatchIfaceInfo< D >::PatchIfaceInfo ( const PatchInfo< D > &  pinfo)
inlineexplicit

Construct a new PatchIfaceInfo object.

Fills in information from the given PatchInfo object.

Member Function Documentation

◆ deserialize()

template<int D>
int ThunderEgg::Schur::PatchIfaceInfo< D >::deserialize ( char *  buffer)
inlinevirtual

Deserialize an object.

Parameters
bufferthe buffer
Returns
int the size of object that was deserialized

Implements ThunderEgg::Serializable.

◆ getCoarseIfaceInfo() [1/2]

template<int D>
std::shared_ptr<CoarseIfaceInfo<D> > ThunderEgg::Schur::PatchIfaceInfo< D >::getCoarseIfaceInfo ( Side< D >  s)
inline

Get the CoarseIfaceInfo object on a given side of the patch.

Parameters
sthe side of the object
Returns
std::shared_ptr<CoarseIfaceInfo<D>> the CoarseIfaceInfo object, nullptr if there is not a CoarseIfaceInfo object on the given side

◆ getCoarseIfaceInfo() [2/2]

template<int D>
std::shared_ptr<const CoarseIfaceInfo<D> > ThunderEgg::Schur::PatchIfaceInfo< D >::getCoarseIfaceInfo ( Side< D >  s) const
inline

Get the CoarseIfaceInfo object on a given side of the patch.

Parameters
sthe side of the object
Returns
std::shared_ptr<const CoarseIfaceInfo<D>> the CoarseIfaceInfo object, nullptr if there is not a CoarseIfaceInfo object on the given side

◆ getFineIfaceInfo() [1/2]

template<int D>
std::shared_ptr<FineIfaceInfo<D> > ThunderEgg::Schur::PatchIfaceInfo< D >::getFineIfaceInfo ( Side< D >  s)
inline

Get the FineIfaceInfo object on a given side of the patch.

Parameters
sthe side of the object
Returns
std::shared_ptr<FineIfaceInfo<D>> the FineIfaceInfo object, nullptr if there is not a FineIfaceInfo object on the given side

◆ getFineIfaceInfo() [2/2]

template<int D>
std::shared_ptr<const FineIfaceInfo<D> > ThunderEgg::Schur::PatchIfaceInfo< D >::getFineIfaceInfo ( Side< D >  s) const
inline

Get the FineIfaceInfo object on a given side of the patch.

Parameters
sthe side of the object
Returns
std::shared_ptr<const FineIfaceInfo<D>> the FineIfaceInfo object, nullptr if there is not a FineIfaceInfo object on the given side

◆ getIfaceInfo() [1/2]

template<int D>
std::shared_ptr<IfaceInfo<D> > ThunderEgg::Schur::PatchIfaceInfo< D >::getIfaceInfo ( Side< D >  s)
inline

Get the IfaceInfo object on a given side of the patch.

Parameters
sthe side of the patch
Returns
std::shared_ptr<IfaceInfo<D>> the IfaceInfo object

◆ getIfaceInfo() [2/2]

template<int D>
std::shared_ptr<const IfaceInfo<D> > ThunderEgg::Schur::PatchIfaceInfo< D >::getIfaceInfo ( Side< D >  s) const
inline

Get the IfaceInfo object on a given side of the patch.

Parameters
sthe side of the patch
Returns
std::shared_ptr<const IfaceInfo<D>> the IfaceInfo object

◆ getNormalIfaceInfo() [1/2]

template<int D>
std::shared_ptr<NormalIfaceInfo<D> > ThunderEgg::Schur::PatchIfaceInfo< D >::getNormalIfaceInfo ( Side< D >  s)
inline

Get the NormalIfaceInfo object on a given side of the patch.

Parameters
sthe side of the object
Returns
std::shared_ptr<NormalIfaceInfo<D>> the NormalIfaceInfo object, nullptr if there is not a NormalIfaceInfo object on the given side

◆ getNormalIfaceInfo() [2/2]

template<int D>
std::shared_ptr<const NormalIfaceInfo<D> > ThunderEgg::Schur::PatchIfaceInfo< D >::getNormalIfaceInfo ( Side< D >  s) const
inline

Get the NormalIfaceInfo object on a given side of the patch.

Parameters
sthe side of the object
Returns
std::shared_ptr<const NormalIfaceInfo<D>> the NormalIfaceInfo object, nullptr if there is not a NormalIfaceInfo object on the given side

◆ serialize()

template<int D>
int ThunderEgg::Schur::PatchIfaceInfo< D >::serialize ( char *  buffer) const
inlinevirtual

Serialize object into buffer.

Parameters
bufferthe buffer. Can be set to nullptr if you just want the size
Returns
int the size of the serialized object

Implements ThunderEgg::Serializable.

◆ setIfaceInfo()

template<int D>
void ThunderEgg::Schur::PatchIfaceInfo< D >::setIfaceInfo ( Side< D >  s,
std::shared_ptr< IfaceInfo< D >>  info 
)
inline

Set the IfaceInfo object on a given side of the patch.

Parameters
sthe side of the patch
infothe IfaceInfo object

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