Itasca C++ Interface
Loading...
Searching...
No Matches
iextruderegion.h
1#pragma once
2// iextruderegion.h
3
5
6namespace itasca {
7 class IThing;
8}
9namespace itascaxd {
10 class IGeomPoly;
11}
12
13namespace extruder {
14 using namespace itasca;
15 using namespace itascaxd;
16
17 class IExtrudeEdge;
18
22 public:
24 inline static const TType type_ = 0x4cb610e7;
25
27 virtual const IThing * getIThing() const=0;
29 virtual IThing * getIThing()=0;
31 virtual const IGeomPoly *getIGeomPoly() const=0;
33 virtual IGeomPoly * getIGeomPoly()=0;
34
36 virtual bool getIsIrregBlock() const = 0;
38 virtual quint32 getMultiplier() const=0;
40 virtual void setMultiplier(quint32 m)=0;
42 virtual UVect2 getZones() const=0;
44 virtual quint64 numZones() const=0;
46 virtual DVect getDiscretizedLocation(const IVect2 &index) const=0;
48 virtual DVect getParametricLocation(const double &mu1, const double &mu2) const=0;
50 virtual DVect getCentroid() const=0;
52 virtual DVect2 computeGridParameter(DVect p) const=0;
54 virtual DVect computeSplitEdgePosition(DVect2 f, int side) const=0;
56 virtual bool isPointInside(DVect pos)=0;
58 virtual IExtrudeRegion* getNeighborRegion(int index)=0;
61
62 // Iterate list of bad zones
64 virtual void resetSearchBadZones(int *i, int *j) const = 0;
66 // engine bool specifies if the call is originating from the engine, and polling should happen - otherwise polling is suppressed.
67 virtual bool nextSearchBadZone(int *i, int *j, int *ty, DVect *p1 ,DVect *p2, DVect *p3, DVect *p4,bool engine) const = 0; // false=search completed, return bad zone ccw points p1..p4
68 };
69} // namespace f3
70// EoF
Definition idef.h:50
Interface for IExtrudeEdge objects.
Definition iextruderegion.h:21
virtual DVect computeSplitEdgePosition(DVect2 f, int side) const =0
compute split parameter for edge on indexed side of block
static const TType type_
The type identification number for this class, for use in convert_cast() and convert_getcast().
Definition iextruderegion.h:24
virtual UVect2 getZones() const =0
Return block zoning sizes.
virtual quint32 getMultiplier() const =0
Return block multiplier, 1=default, 2,3,4...
virtual DVect getParametricLocation(const double &mu1, const double &mu2) const =0
Return x,y position of parametrized location, mu1=0-1, mu2=0-1.
virtual bool isPointInside(DVect pos)=0
Return true if point interior to block.
virtual QList< QPair< DVect2, DVect2 > > getMeshLineSegments() const =0
retun a list of unique line segments (QPair<DVect2,DVect2>(end1,end2)) for the unstructured mesh
virtual quint64 numZones() const =0
Return total number of zones.
virtual IGeomPoly * getIGeomPoly()=0
Return a IGeomPoly interface for this object.
virtual const IGeomPoly * getIGeomPoly() const =0
Return a const IGeomPoly interface for this object.
virtual const IThing * getIThing() const =0
Return a const IThing interface for this object.
virtual void setMultiplier(quint32 m)=0
Set block multiplier, 1=default, 2,3,4...
virtual IExtrudeRegion * getNeighborRegion(int index)=0
Return neighboring region on indexed edge, if any.
virtual IThing * getIThing()=0
Return an IThing interface for this object.
virtual DVect2 computeGridParameter(DVect p) const =0
Compute u,v parametric position of given point inside block.
virtual void resetSearchBadZones(int *i, int *j) const =0
Initialize search for warning or bad zones, pass in loop variables i,j.
virtual bool getIsIrregBlock() const =0
return true if this is an irregular block
virtual DVect getCentroid() const =0
Return center as defined by parametrization (0.5,0.5)
virtual DVect getDiscretizedLocation(const IVect2 &index) const =0
Return x,y position of indexed gridpoint.
virtual bool nextSearchBadZone(int *i, int *j, int *ty, DVect *p1, DVect *p2, DVect *p3, DVect *p4, bool engine) const =0
Get next bad zone, and increment i,j loop variables, return false if done.
Base class for items that will be stored in containers.
Definition ithing.h:30
A class representing a single closed polygon made up of a list of edges.
Definition igeompoly.h:23
uint32 TType
class type indicator
Definition basedef.h:46
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition dim.h:154
Interface for LinkType<> objects, POD that contain both the pointer to the next object and an index f...
namespace Itasca
Definition basememory.cpp:10
Itasca Library standard namespace, specific to 2D or 3D.
Definition icontactmodule.h:4