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

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

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

revision 1801 by ksteube, Fri Sep 19 01:37:09 2008 UTC revision 2421 by gross, Thu May 14 02:29:06 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_AbstractDomain_20040609_H  #if !defined escript_AbstractDomain_20040609_H
16  #define escript_AbstractDomain_20040609_H  #define escript_AbstractDomain_20040609_H
# Line 24  Line 23 
23  #include <boost/python/list.hpp>  #include <boost/python/list.hpp>
24  #include "paso/Paso_MPI.h"  #include "paso/Paso_MPI.h"
25    
26    
27    #include "Pointers.h"
28    
29  namespace escript {  namespace escript {
30  // class forward declarations  // class forward declarations
31  class Data;  class Data;
# Line 35  class Data; Line 37  class Data;
37     Base class for all escript domains.     Base class for all escript domains.
38  */  */
39    
40  class AbstractDomain {  class AbstractDomain;
41    
42    typedef POINTER_WRAPPER_CLASS(AbstractDomain) Domain_ptr;
43    typedef POINTER_WRAPPER_CLASS(const AbstractDomain) const_Domain_ptr;
44    
45    class AbstractDomain : public REFCOUNT_BASE_CLASS(AbstractDomain){
46    
47   public:   public:
48    
49    /**
50    \brief Returns smart pointer which is managing this object.
51    If one does not exist yet it creates one.
52    
53    Note: This is _not_ equivalent to weak_ptr::lock.
54    */
55       ESCRIPT_DLL_API
56       Domain_ptr getPtr();
57       ESCRIPT_DLL_API
58       const_Domain_ptr getPtr() const;
59    
60     // structure holding values for X, size and normal     // structure holding values for X, size and normal
61     typedef int StatusType;     typedef int StatusType;
# Line 101  class AbstractDomain { Line 118  class AbstractDomain {
118    ESCRIPT_DLL_API    ESCRIPT_DLL_API
119    virtual int getMPIRank() const;    virtual int getMPIRank() const;
120    
121      /**
122         \brief
123         If compiled for MPI then execute an MPI_Barrier, else do nothing
124      */
125    
126      ESCRIPT_DLL_API
127      virtual void MPIBarrier() const;
128      /**
129         \brief
130         Return true if on MPI master, else false
131      */
132    
133      ESCRIPT_DLL_API
134      virtual bool onMasterProcessor() const;
135    
136    
137    
138    /**    /**
# Line 327  class AbstractDomain { Line 359  class AbstractDomain {
359    
360    /**    /**
361       \brief       \brief
362       Saves a dictonary of Data objects to an VTK XML input file. The keywords are used as identifier       Saves a dictonary of Data objects to an VTK XML input file. The keywords are used as identifier.
363         metadata is string representing some meta data to be added. metadata_schema assign schema to namespaces used in the meta data.
364    
365       This has to be implemented by the actual Domain adapter.       This has to be implemented by the actual Domain adapter.
366    */    */
367    ESCRIPT_DLL_API    ESCRIPT_DLL_API
368    virtual void saveVTK(const std::string& filename,const boost::python::dict& arg) const;    virtual void saveVTK(const std::string& filename,const boost::python::dict& arg, const std::string& metadata, const std::string& metadata_schema) const;
   
   /**  
      \brief  
      returns the function space representation of the type functionSpaceCode on this domain  
      as a vtkObject.  
   
      This has to be implemented by the actual Domain adapter.  
   */  
   //virtual vtkObject createVtkObject(int functionSpaceCode) const;  
369    
370    /**    /**
371       \brief assigns new tag newTag to all samples of functionspace with a positive       \brief assigns new tag newTag to all samples of functionspace with a positive
# Line 388  class AbstractDomain { Line 412  class AbstractDomain {
412    ESCRIPT_DLL_API    ESCRIPT_DLL_API
413    virtual int* borrowListOfTagsInUse(int functionSpaceCode) const;    virtual int* borrowListOfTagsInUse(int functionSpaceCode) const;
414    
415      /**
416        \brief Checks if this domain allows tags for the specified functionSpaceCode.
417      */
418      ESCRIPT_DLL_API
419      virtual bool canTag(int functionspacecode) const;
420    
421   protected:   protected:
422    

Legend:
Removed from v.1801  
changed lines
  Added in v.2421

  ViewVC Help
Powered by ViewVC 1.1.26