48 const int Dim()
const {
return dim; }
75 inline int GLen()
const {
return glen; }
80 inline int BLen()
const {
return blen; }
85 inline int SLen()
const {
return slen; }
90 inline const Mesh &
mesh()
const {
return *meshptr; }
100 inline int *
Elref()
const {
return gelref; }
110 inline int *
BElref()
const {
return belref; }
132 virtual double Value (
const Point &p,
int i)
const;
139 virtual double Value_nomask (
const Point &p,
int i,
bool is_solidx=
true)
147 virtual void Map_MeshToGrid (
const RVector &mvec,
RVector &gvec)
const;
154 virtual void Map_MeshToGrid (
const CVector &mvec,
CVector &gvec)
const;
163 bool mapall =
false)
const;
170 virtual void Map_GridToMesh (
const RVector &gvec,
RVector &mvec)
const;
177 virtual void Map_GridToMesh (
const CVector &gvec,
CVector &mvec)
const;
186 bool mapall =
false)
const;
193 virtual void Map_GridToBasis (
const RVector &gvec,
RVector &bvec)
const =0;
200 virtual void Map_GridToBasis (
const CVector &gvec,
CVector &bvec)
const =0;
209 bool mapall =
false)
const;
216 virtual void Map_BasisToGrid (
const RVector &bvec,
RVector &gvec)
const =0;
223 virtual void Map_BasisToGrid (
const CVector &bvec,
CVector &gvec)
const =0;
232 bool mapall =
false)
const;
241 virtual void Map_MeshToBasis (
const RVector &mvec,
RVector &bvec)
const;
250 virtual void Map_MeshToBasis (
const CVector &mvec,
CVector &bvec)
const;
259 virtual void Map_BasisToMesh (
const RVector &bvec,
RVector &mvec)
const;
268 virtual void Map_BasisToMesh (
const CVector &bvec,
CVector &mvec)
const;
281 virtual void Map_BasisToSol (
const RVector &bvec,
RVector &svec)
const;
294 virtual void Map_BasisToSol (
const CVector &bvec,
CVector &svec)
const;
307 virtual void Map_SolToBasis (
const RVector &svec,
RVector &bvec)
const;
320 virtual void Map_SolToBasis (
const CVector &svec,
CVector &bvec)
const;
323 bool mapall =
false)
const;
333 virtual void Map_SolToGrid (
const RVector &svec,
RVector &gvec)
const;
343 virtual void Map_SolToGrid (
const CVector &svec,
CVector &gvec)
const;
353 virtual void Map_GridToSol (
const RVector &gvec,
RVector &svec)
const;
363 virtual void Map_GridToSol (
const CVector &gvec,
CVector &svec)
const;
373 virtual void Map_SolToMesh (
const RVector &svec,
RVector &mvec)
const;
383 virtual void Map_SolToMesh (
const CVector &svec,
CVector &mvec)
const;
386 bool mapall =
false )
const;
389 virtual void Map_ActiveSolToMesh (
const RVector &asol,
Solution &msol)
const;
399 virtual void Map_MeshToSol (
const RVector &mvec,
RVector &svec)
const;
409 virtual void Map_MeshToSol (
const CVector &mvec,
CVector &svec)
const;
421 bool mapall =
false)
const;
460 virtual int GetSolIdx (
int basisidx)
const;
469 virtual int GetSolIdx (
const IVector &crd)
const;
479 virtual int GetBasisIdx (
int solidx)
const;
487 virtual void GetBasisIndices (
int basisidx,
IVector &crd)
const;
504 virtual IVector &GetGridIndices (
int grididx)
const;
513 inline int Basis2Sol (
int i)
const {
return basis2sol[i]; }
521 inline int Sol2Basis (
int j)
const {
return sol2basis[j]; }
523 void NeighbourGraph (idxtype *&rowptr, idxtype *&colidx,
int &nzero)
const;
530 RVector * ImageJet(
const RVector &x,
double sd,
bool *iflags)
const;
586 #endif // !__RASTER_H
int Basis2Sol(int i) const
Returns the corresponding solution vector index for a given basis vector index.
Definition: raster.h:513
const IVector & GDim() const
Return high-res grid dimensions.
Definition: raster.h:61
Virtual base class for sparse matrix types.
Definition: gsmatrix.h:47
Mesh * meshptr
mesh pointer
Definition: raster.h:542
const RVector & GSize() const
Return size of the grid bounding box.
Definition: raster.h:70
const RGenericSparseMatrix & Mesh2GridMatrix() const
Return the mesh->grid transformation matrix.
Definition: raster.h:426
int BLen() const
Return the length of the basis vector representation.
Definition: raster.h:80
IVector paddim
dimensions padded to a power of 2
Definition: raster.h:547
int slen
length of solution vector (excluding mask)
Definition: raster.h:540
Finite-element mesh management.
Definition: mesh.h:145
virtual const RGenericSparseMatrix & Mesh2BasisMatrix() const
Return the mesh->basis transformation matrix.
Definition: raster.h:435
Base class for mapping between mesh and an independent basis representation.
Definition: raster.h:20
int SLen() const
Return the length of the solution vector representation.
Definition: raster.h:85
RGenericSparseMatrix * B
transformation matrix mesh->grid
Definition: raster.h:582
int padlen
vector length of padded grid
Definition: raster.h:548
int blen
length of basis vector (full bb)
Definition: raster.h:538
const int Dim() const
Return problem dimension.
Definition: raster.h:48
IVector bdim
native basis dimensions
Definition: raster.h:536
RGenericSparseMatrix * BI
transformation matrix grid->mesh
Definition: raster.h:583
const IVector & BDim() const
Return native basis dimensions.
Definition: raster.h:55
const Mesh & mesh() const
Return the mesh associated with the basis.
Definition: raster.h:90
virtual const RGenericSparseMatrix & Basis2MeshMatrix() const
Return the basis->mesh transformation matrix.
Definition: raster.h:446
IVector sol2basis
Solution mask vector.
Definition: raster.h:580
IVector basis2sol
basis->solution permutation vector.
Definition: raster.h:567
int GLen() const
Return the length of the grid vector representation.
Definition: raster.h:75
int * belref
basis->element reference list (length blen)
Definition: raster.h:544
RVector bbsize
physical extents of grid bounding box
Definition: raster.h:541
int glen
length of grid vector (full bb)
Definition: raster.h:539
int * gelref
grid->element reference list (length glen)
Definition: raster.h:545
RVector bsupport
Definition: raster.h:555
int Sol2Basis(int j) const
Returns the corresponding basis vector index for a given solution vector index.
Definition: raster.h:521
int * Elref() const
Returns a pointer to the element reference array for all grid points.
Definition: raster.h:100
Definition: solution.h:39
IVector gdim
high-res grid dimension
Definition: raster.h:537
int * BElref() const
Returns a pointer to the element reference array for all basis points.
Definition: raster.h:110
Point bbmax
grid bounding box
Definition: raster.h:543
int dim
problem dimension (2 or 3)
Definition: raster.h:535