ESyS-Particle  4.0.1
BTriMeshIP.h
00001 
00002 //                                                         //
00003 // Copyright (c) 2003-2011 by The University of Queensland //
00004 // Earth Systems Science Computational Centre (ESSCC)      //
00005 // http://www.uq.edu.au/esscc                              //
00006 //                                                         //
00007 // Primary Business: Brisbane, Queensland, Australia       //
00008 // Licensed under the Open Software License version 3.0    //
00009 // http://www.opensource.org/licenses/osl-3.0.php          //
00010 //                                                         //
00012 
00013 #ifndef __BTRIMESHIP_H
00014 #define __BTRIMESHIP_H
00015 
00016 #include <string>
00017 
00018 class BTriMeshIP
00019 {
00020 public:
00021   double k;
00022   double brk;
00023 
00024   BTriMeshIP();
00025 
00026   BTriMeshIP(
00027     const std::string &interactionName,
00028     const std::string &meshName,
00029     double normalK,
00030     double breakDistance
00031   );
00032   
00033   virtual ~BTriMeshIP();
00034 
00035   void setMeshName(const std::string &meshName);
00036 
00037   const std::string &getMeshName() const;
00038 
00039   void setName(const std::string &name);
00040 
00041   const std::string &getName() const;
00042 
00043   virtual std::string getTypeString() const;
00044 
00045 private:
00046   std::string m_name;
00047   std::string m_meshName;
00048 };
00049 
00050 class MeshBuildPrms
00051 {
00052 public:
00053   MeshBuildPrms();
00054 
00055   virtual ~MeshBuildPrms();
00056 
00057   virtual std::string getTypeString() const = 0;
00058 
00059 private:
00060 };
00061 
00062 class MeshTagBuildPrms : public MeshBuildPrms
00063 {
00064 public:
00065   int m_tag;
00066   int m_mask;
00067 
00068   MeshTagBuildPrms();
00069 
00070   MeshTagBuildPrms(int tag, int mask);
00071 
00072   virtual std::string getTypeString() const;
00073 };
00074 
00075 class MeshGapBuildPrms : public MeshBuildPrms
00076 {
00077 public:
00078   double m_maxGap;
00079   
00080   MeshGapBuildPrms();
00081 
00082   MeshGapBuildPrms(double maxGap);
00083   
00084   virtual std::string getTypeString() const;
00085 };
00086 
00087 #endif // __BTRIMESHIP_H