Itasca C++ Interface
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
ibodyface.h
Go to the documentation of this file.
1 //ibodyface.h
2 #pragma once
3 
9 namespace body{
10 
11  using namespace itasca;
12  using namespace itascaxd;
13  class IBodyBlock;
14 
15  class IBodyFace {
16  public:
17  inline static const TType type_ = 0x54a5a3df;
19  virtual const IThing * getIThing() const=0;
21  virtual IThing * getIThing()=0;
23  virtual DVect getDiscretizedLocation(const IBodyBlock *block,quint32 ig, quint32 jg) const=0;
25  virtual UVect2 getZoneIndBound(const IBodyBlock *block)const=0;
27  virtual bool getGUIselect() const=0;
29  virtual void setGUIselect(bool flag) const=0;
31  virtual void getDiscretizedLocationCompleteGrid(const IBodyBlock *block, std::vector<std::vector<DVect>> &zpCoords, quint32 &szx, quint32 &szy)const=0;
34  virtual FArray<DVect> getSurfaceLine(const DVect2 &from, const DVect2 &to, quint32 number) const=0;
35 
37  virtual qint32 getCurvedFaceType()const = 0;
39  virtual void setCurveType(quint32 type) = 0;
41  virtual quint32 getControlPointsSize()const = 0;
43  virtual quint32 getControlPointsSizeN()const = 0;
45  virtual quint32 getControlPointsSizeM()const = 0;
47  virtual void removeAllControlPonts() = 0;
49  virtual DVect getControlPointPosition(quint32 i, quint32 j)const = 0;
51  virtual void setControlPointPosition(quint32 i, quint32 j, const DVect &pos)= 0;
53  virtual QPair<qint32,qint32> getControlPointIndex(double u, double v)const = 0;
55  virtual QPair<qint32, qint32> getControlPointIndex(DVect &pos)const = 0;
56  };
57 };
namespace Itasca
Definition: basememory.cpp:9
Base class for items that will be stored in containers.
Definition: ithing.h:31
D to(const T &t)
This template function serves as an alternative to static_cast<T>().
Definition: to.h:24
unsigned int TType
class type indicator
Definition: basedef.h:41
Definition: ibodyface.h:15
Itasca Library standard namespace, specific to 2D or 3D.
Definition: icontactmodule.h:4
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition: dim.h:145
Interface to provide acces to BodyBlock.
Definition: ibodyblock.h:24