36#ifndef NEKTAR_LIB_UTILITIES_BASIC_UTILS_PTSFIELD_H
37#define NEKTAR_LIB_UTILITIES_BASIC_UTILS_PTSFIELD_H
75 const int dim,
const std::vector<std::string> fieldnames,
82 const int dim,
const std::vector<std::string> fieldnames,
107 const std::vector<std::string> fieldNames);
110 const std::string fieldName);
120 const size_t ptInd)
const;
130 const int fieldInd)
const;
142 const std::vector<size_t> nPtsPerEdge);
145 const std::vector<int> nPtsPerElement);
#define LIB_UTILITIES_EXPORT
std::vector< int > GetPointsPerElement() const
size_t GetNpoints() const
void SetBoxSize(const std::vector< NekDouble > boxsize)
NekDouble GetPointVal(const size_t fieldInd, const size_t ptInd) const
size_t GetNFields() const
std::vector< std::string > GetFieldNames() const
std::vector< size_t > GetPointsPerEdge() const
void SetFieldNames(const std::vector< std::string > fieldNames)
std::vector< Array< OneD, int > > m_ptsConn
Connectivity data needed for ePtsTetBlock and ePtsTriBlock. For n Blocks with m elements each,...
void SetPointVal(const size_t fieldInd, const size_t ptInd, const NekDouble val)
PtsField(const int dim, const std::vector< std::string > fieldnames, const Array< OneD, Array< OneD, NekDouble > > &pts, std::map< PtsInfo, int > ptsInfo=NullPtsInfoMap)
PtsType GetPtsType() const
void SetDim(const int ptsDim)
PtsField(const int dim, const Array< OneD, Array< OneD, NekDouble > > &pts)
std::vector< NekDouble > GetBoxSize() const
size_t m_dim
Dimension of the pts field.
std::vector< size_t > m_nPtsPerEdge
Number of points per edge. Empty if the point data has no specific shape (ePtsLine) or is a block (eP...
std::vector< int > m_nPtsPerElement
std::string GetFieldName(const int i) const
void SetPointsPerElement(const std::vector< int > nPtsPerElement)
void GetConnectivity(std::vector< Array< OneD, int > > &conn) const
Set the connectivity data for ePtsTetBlock and ePtsTriBlock.
PtsType m_ptsType
Type of the PtsField.
std::vector< std::string > m_fieldNames
Names of the field variables.
std::vector< NekDouble > m_boxSize
vector of box size xmin,xmax,ymin,ymax,zmin,zmax
void SetPts(Array< OneD, Array< OneD, NekDouble > > &pts)
Array< OneD, Array< OneD, NekDouble > > m_pts
Point data. For a n-dimensional field, the first m_dim fields are the points spatial coordinates....
void SetConnectivity(const std::vector< Array< OneD, int > > &conn)
Get the connectivity data for ePtsTetBlock and ePtsTriBlock.
std::map< PtsInfo, int > m_ptsInfo
map for information about points that can be added through PtsInfo enum
void RemoveField(const std::string fieldName)
void SetPointsPerEdge(const std::vector< size_t > nPtsPerEdge)
Set the number of points per edge.
void SetPtsType(const PtsType type)
void AddPoints(const Array< OneD, const Array< OneD, NekDouble > > &pts)
PtsField(const int dim, const std::vector< std::string > fieldnames, const Array< OneD, Array< OneD, NekDouble > > &pts, const Array< OneD, Array< OneD, float > > &weights, const Array< OneD, Array< OneD, unsigned int > > &neighInds)
void GetPts(Array< OneD, Array< OneD, NekDouble > > &pts) const
void AddField(const Array< OneD, NekDouble > &pts, const std::string fieldName)
static std::map< PtsInfo, int > NullPtsInfoMap
std::shared_ptr< PtsField > PtsFieldSharedPtr
static PtsFieldSharedPtr NullPtsField