/[escript]/trunk/escript/src/NullDomain.h
ViewVC logotype

Diff of /trunk/escript/src/NullDomain.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

temp/escript/src/NullDomain.h revision 1387 by trankine, Fri Jan 11 07:45:26 2008 UTC trunk/escript/src/NullDomain.h revision 2487 by jfenwick, Tue Jun 23 04:26:07 2009 UTC
# Line 1  Line 1 
1    
 /* $Id$ */  
   
2  /*******************************************************  /*******************************************************
3   *  *
4   *           Copyright 2003-2007 by ACceSS MNRF  * Copyright (c) 2003-2008 by University of Queensland
5   *       Copyright 2007 by University of Queensland  * Earth Systems Science Computational Center (ESSCC)
6   *  * http://www.uq.edu.au/esscc
7   *                http://esscc.uq.edu.au  *
8   *        Primary Business: Queensland, Australia  * Primary Business: Queensland, Australia
9   *  Licensed under the Open Software License version 3.0  * Licensed under the Open Software License version 3.0
10   *     http://www.opensource.org/licenses/osl-3.0.php  * http://www.opensource.org/licenses/osl-3.0.php
11   *  *
12   *******************************************************/  *******************************************************/
13    
14    
15  #if !defined escript_NullDomain_20040604_H  #if !defined escript_NullDomain_20040604_H
16  #define escript_NullDomain_20040604_H  #define escript_NullDomain_20040604_H
# Line 32  namespace escript { Line 31  namespace escript {
31     NullDomain provides a null value for domain. Needed for the construction     NullDomain provides a null value for domain. Needed for the construction
32     of a default FunctionSpace. Inherits from AbstractDomain and overrides its     of a default FunctionSpace. Inherits from AbstractDomain and overrides its
33     methods.     methods.
34       This domain supports a single type of FunctionSpace for which canTag is true.
35       This compromise is needed to allow the default contructor of DataTagged to
36       have a FunctionSpace which supports tagging.
37       See notes on the borrowListOfTagsInUse() method.
38  */  */
39    
40  class NullDomain : public AbstractDomain {  class NullDomain : public AbstractDomain {
# Line 66  class NullDomain : public AbstractDomain Line 69  class NullDomain : public AbstractDomain
69    
70    /**    /**
71       \brief       \brief
72         Return a description for the given function space type code.
73      */
74      ESCRIPT_DLL_API
75      virtual std::string functionSpaceTypeAsString(int functionSpaceType) const;
76    
77      /**
78         \brief
79         Interpolates data given on source onto target where source and target have to be given on the same domain.
80         NullDomain only has one FunctionSpace so this makes target a shallow copy of source.
81      */
82      ESCRIPT_DLL_API
83      virtual void interpolateOnDomain(escript::Data& target,const escript::Data& source) const;
84      ESCRIPT_DLL_API
85      virtual bool probeInterpolationOnDomain(int functionSpaceType_source,int functionSpaceType_target) const;
86    
87      /**
88         \brief
89         Interpolates data given on source onto target where source and target are given on different domains.
90         We do not permit interpolation into the NullDomain so this method always throws.
91      */
92      ESCRIPT_DLL_API
93      virtual void interpolateACross(escript::Data& target, const escript::Data& source) const;
94      ESCRIPT_DLL_API
95      virtual bool probeInterpolationACross(int functionSpaceType_source,const AbstractDomain& targetDomain, int functionSpaceType_target) const;
96    
97      /**
98         \brief
99       Return a continuous FunctionSpace.       Return a continuous FunctionSpace.
100    */    */
101    ESCRIPT_DLL_API    ESCRIPT_DLL_API
# Line 144  class NullDomain : public AbstractDomain Line 174  class NullDomain : public AbstractDomain
174       \param functionSpaceType Input - The function space type.       \param functionSpaceType Input - The function space type.
175    */    */
176    ESCRIPT_DLL_API    ESCRIPT_DLL_API
177    virtual int* borrowSampleReferenceIDs(int functionSpaceType) const;    virtual const int* borrowSampleReferenceIDs(int functionSpaceType) const;
178    
179    /**    /**
180       \brief       \brief
# Line 161  class NullDomain : public AbstractDomain Line 191  class NullDomain : public AbstractDomain
191    ESCRIPT_DLL_API    ESCRIPT_DLL_API
192    virtual bool operator!=(const AbstractDomain& other) const;    virtual bool operator!=(const AbstractDomain& other) const;
193    
194      /**
195         \brief Checks if this domain allows tags for the specified functionSpaceCode.
196      */
197      ESCRIPT_DLL_API
198      virtual
199      bool canTag(int functionSpaceCode) const;
200    
201      /**
202          \brief
203              return the number of tags in use.
204          For this class the answer is always 1(the default tag).
205      */
206      ESCRIPT_DLL_API
207      virtual int getNumberOfTagsInUse(int functionSpaceCode) const;
208    
209      /**
210         \brief  returns a pointer to an array with the tags used.
211         For this class the answer will always be {0}
212      */
213      ESCRIPT_DLL_API
214      virtual const int* borrowListOfTagsInUse(int functionSpaceCode) const;
215    
216   protected:   protected:
217    
218   private:   private:
219    
220  };  };
221    
222  } // end of namespace  } // end of namespace

Legend:
Removed from v.1387  
changed lines
  Added in v.2487

  ViewVC Help
Powered by ViewVC 1.1.26