Itasca C++ Interface
Loading...
Searching...
No Matches
ibodyface.h
Go to the documentation of this file.
1//ibodyface.h
2#pragma once
9namespace 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,uint32 ig, uint32 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, uint32 &szx, uint32 &szy)const=0;
34 virtual FArray<DVect> getSurfaceLine(const DVect2 &from, const DVect2 &to, uint32 number) const=0;
36 virtual DExtent getExtent() const=0;
37
39 virtual int32 getCurvedFaceType()const = 0;
41 virtual void setCurveType(uint32 type) = 0;
43 virtual uint32 getControlPointsSize()const = 0;
45 virtual uint32 getControlPointsSizeN()const = 0;
47 virtual uint32 getControlPointsSizeM()const = 0;
49 virtual void removeAllControlPonts() = 0;
51 virtual DVect getControlPointPosition(uint32 i, uint32 j)const = 0;
53 virtual void setControlPointPosition(uint32 i, uint32 j, const DVect &pos)= 0;
55 virtual QPair<int32,int32> getControlPointIndex(double u, double v)const = 0;
57 virtual QPair<int32, int32> getControlPointIndex(DVect &pos)const = 0;
58 };
59}
An array class that attempts to minimize unnecessary heap access.
Definition farray.h:25
Interface to provide acces to BodyBlock.
Definition ibodyblock.h:24
Definition ibodyface.h:15
virtual void setCurveType(uint32 type)=0
sets interpolating curved face 0 - NotCurved, 1- BicubicSpline
virtual const IThing * getIThing() const =0
returns a const IThing pointer
virtual QPair< int32, int32 > getControlPointIndex(double u, double v) const =0
get indexes to control point from the internal surface coordinates (u,v) (clossest CP will be found)
virtual DVect getControlPointPosition(uint32 i, uint32 j) const =0
get position of a control point
virtual void removeAllControlPonts()=0
removes all control points from face making it NotCurved
virtual uint32 getControlPointsSize() const =0
returns number of control points wich is allwas grid nXm on face (corner BodyPoint's are also counted...
virtual int32 getCurvedFaceType() const =0
get type of interpolating curved face 0 - NotCurved, 1- BicubicSpline
virtual QPair< int32, int32 > getControlPointIndex(DVect &pos) const =0
get indexes to control point from the position (clossest CP will be found)
virtual UVect2 getZoneIndBound(const IBodyBlock *block) const =0
Return bount for index from zero to maxIndex=edgeZoneSize X blockMultiplier.
virtual IThing * getIThing()=0
returns a IThing pointer
virtual bool getGUIselect() const =0
return GUI specific select flag
virtual DExtent getExtent() const =0
Return the extent.
virtual FArray< DVect > getSurfaceLine(const DVect2 &from, const DVect2 &to, uint32 number) const =0
virtual uint32 getControlPointsSizeN() const =0
return size n of nXm grid of control face points
virtual void setControlPointPosition(uint32 i, uint32 j, const DVect &pos)=0
set position of a control point
virtual void getDiscretizedLocationCompleteGrid(const IBodyBlock *block, std::vector< std::vector< DVect > > &zpCoords, uint32 &szx, uint32 &szy) const =0
compute complete discretized location grid (including control points), szx and szy are [0,...
virtual void setGUIselect(bool flag) const =0
set GUI specific select flag
virtual uint32 getControlPointsSizeM() const =0
return size m of nXm grid of control face points
virtual DVect getDiscretizedLocation(const IBodyBlock *block, uint32 ig, uint32 jg) const =0
Return x,y position of indexed gridpoint. Indexes must bound from 0 to blockMultiplier X edgeZoneSize...
Base class for items that will be stored in containers.
Definition ithing.h:30
uint32 TType
class type indicator
Definition basedef.h:46
constexpr D to(const T &t)
This template function serves as an alternative to static_cast<T>().
Definition to.h:28
DExtent3 DExtent
A DExtent2 in 2D, a DExtent3 in 3D.
Definition dim.h:160
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition dim.h:154
namespace Itasca
Definition basememory.cpp:10
Itasca Library standard namespace, specific to 2D or 3D.
Definition icontactmodule.h:4