Itasca C++ Interface
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
extruder::IExtrudeSet Class Referenceabstract

Provides interface to IExtrudeSet. Contains containers for points, edges and blocks objects. More...

#include <iextrudeset.h>

Public Member Functions

virtual IThinggetIThing ()=0
 returns its IThing pointer
 
virtual const IThinggetIThing () const =0
 returns its const IThing pointer
 
virtual IString getName () const =0
 returns the set name
 
virtual IExtrudePointcreatePoint (const DVect &pos)=0
 Adds a point to the point container and returns a pointer to the newly created object. The point is located at pos.
 
virtual IExtrudeEdgecreateEdge (IExtrudePoint *end1, IExtrudePoint *end2, bool useDefaultSize, QString *str)=0
 Adds a edge to the edge container and returns a pointer to the newly created object. The edge is defined by verices end1 and end2.
 
virtual IContainergetPointContainer ()=0
 Adds a block to the block container and returns a pointer to the newly created object.
 
virtual const IContainergetPointContainer () const =0
 returns a const pointer to the point container.
 
virtual const IExtrudePointfindPointWithID (uint64 id) const =0
 given an id, returns a const pointer to the point object.
 
virtual IExtrudePointfindPointWithID (uint64 id)=0
 given an id, returns a pointer to the point object.
 
virtual const IGeomPointfindClosestPoint (const DVect &pos, const double &radius=limits< double >::max()) const =0
 given a position pos in space, returns a const pointer to the closest point object within a given radius.
 
virtual IGeomPointfindClosestPoint (const DVect &pos, const double &radius=limits< double >::max())=0
 given a position pos in space, returns a pointer to the closest point object within a given radius.
 
virtual const QList< QList< const IExtrudePoint * > > findPotentialPolygonAt (DVect pos) const =0
 Test if a potential closed polygon exists at pos. Returns vertices of the polygon.
 
virtual const std::vector< std::vector< uint64 > > findClosedPolygonAt (const DVect &pos) const =0
 Find a potential closed polygon. Returns edges of the polygon.
 
virtual const std::vector< std::vector< uint64 > > findMostExternalClosedRegion () const =0
 Find most external closed region. Returns edges of the polygon.
 
virtual IContainergetEdgeContainer ()=0
 Test if a (quad) block exists with 2 points on a diagonal.
 
virtual const IContainergetEdgeContainer () const =0
 returns a const pointer to the edge container container.
 
virtual const IExtrudeEdgefindEdgeWithID (uint64 id) const =0
 given an id, returns a const pointer to the edge object.
 
virtual IExtrudeEdgefindEdgeWithID (uint64 id)=0
 given an id, returns a pointer to the edge object.
 
virtual const IExtrudeEdgefindClosestEdge (const DVect &pos, const double &radius=limits< double >::max()) const =0
 given a position pos in space, returns a const pointer to the closest edge object within a given radius.
 
virtual IExtrudeEdgefindClosestEdge (const DVect &pos, const double &radius=limits< double >::max())=0
 given a position pos in space, returns a pointer to the closest edge object within a given radius.
 
virtual const IExtrudeEdgefindMatchingEdge (const IGeomPoint *end1, const IGeomPoint *end2) const =0
 given the two vertices end1 and end2 of an edge, returns a pointer to the matching edge object.
 
virtual IExtrudeEdgefindMatchingEdge (const IGeomPoint *end1, const IGeomPoint *end2)=0
 given the two vertices end1 and end2 of an edge, returns a pointer to the matching edge object.
 
virtual uint32 getEdgesByBreakAngle (uint32 edgeID, double breakAngle, bool nonIntersected, QList< uint32 > *connectedEdges) const =0
 given one edge, populate connectedEdges with ID's of edges which are connected to it and to one another with the angle less than the break angle
 
virtual uint32 combineEdgesToSingleEdge (QList< uint32 > *connectedEdges, QString *edgeWarning=nullptr)=0
 given list of edge IDs, combine them to single curved edge
 
virtual void deletePoint (IExtrudePoint *pointIn, uint32 *edgeCount=0, uint32 *blockCount=0)=0
 Delete point from set.
 
virtual void deleteEdge (IExtrudeEdge *edgeIn, uint32 *blockCount=0)=0
 Delete edge from set.
 
virtual void deleteBlock (IExtrudeRegion *b)=0
 Delete block from set.
 
virtual IExtrudeRegioncreateBlockByPoints (IExtrudePoint *p0In, IExtrudePoint *p1In, IExtrudePoint *p2In, IExtrudePoint *p3In, uint32 *newedgecount=0, bool ignoreerror=false)=0
 Create a new regular block by 3 or 4 points.
 
virtual IExtrudeRegioncreateBlockByPoints (QSet< uint64 > inputPts, const MeshParameter *meshInfo=nullptr, QSet< QString > *errorsList=nullptr, QList< QString > *warningsList=nullptr, QList< QString > *infoList=nullptr)=0
 Create a new block by given set of points (point IDs)
 
virtual IExtrudeRegioncreateBlockAt (DVect pos, QSet< QString > *errorsList=nullptr, QList< QString > *warningsList=nullptr, QList< QString > *infoList=nullptr)=0
 Create a new block at a given position.
 
virtual bool createBlocksAuto (IGroupID *group=nullptr, QSet< QString > *errorsList=nullptr, QList< QString > *warningsList=nullptr, QList< QString > *infoList=nullptr, const IRange *range=nullptr)=0
 Automatically create new blocks in all suitable closed polygons presents in the set.
 
virtual int getPointSize () const =0
 returns number of points.
 
virtual int getEdgeSize () const =0
 returns number of edges.
 
virtual int getBlockSize () const =0
 returns number of blocks.
 
virtual void clearMetaData ()=0
 
virtual void setMetaKeyValue (const QString &key, const QString &value)=0
 Add or change MetaData key and value.
 
virtual int getMetaCount () const =0
 Returns the number of MetaData objects in the Metadata vector.
 
virtual QString getMetaKey (int index) const =0
 Given an index to MetaData vector, returns the MetaData key;.
 
virtual QString getMetaValue (int index) const =0
 Given an index to MetaData vector, returns the MetaData value;.
 
virtual int findMetaKeyIndex (const QString &key) const =0
 Given an key, returns the corresponding index of the MetaData vector;.
 
virtual QString findMetaKeyValue (const QString &key) const =0
 Given an key, searchs the MedaData vector and returns the corresponding MetaData value;.
 
virtual IContainergetRegionsContainer ()=0
 returns a pointer to the block container.
 
virtual const IContainergetRegionsContainer () const =0
 returns a const pointer to the block container.
 
virtual const IExtrudeRegionfindBlockWithID (uint64 id) const =0
 given an id, returns a const pointer to the block object.
 
virtual IExtrudeRegionfindBlockWithID (uint64 id)=0
 given an id, returns a pointer to the block object.
 
virtual const IExtrudeRegionfindClosestBlock (const DVect &pos, const double &radius=limits< double >::max()) const =0
 given a position pos in space, returns a const pointer to the closest block object within a given radius.
 
virtual IExtrudeRegionfindClosestBlock (const DVect &pos, const double &radius=limits< double >::max())=0
 given a position pos in space, returns a pointer to the closest block object within a given radius.
 
virtual void getRegionLocations (FArray< DVect > *ret, uint64 wr=0, int we=-1)=0
 Get the locations of all of the region nodes.
 
virtual bool valid (QList< QString > *problems=nullptr, bool areaCheck=false) const =0
 Return true if basic block geometry is good.
 
virtual bool isAutoZone () const =0
 Returns true is auto zone mode is on.
 
virtual double getAutoZoneEdge () const =0
 Return AutoZone target average zone edge length.
 
virtual int getAutoZoneDir () const =0
 Return AutoZone direction: 0=all, 1=x,y only, 2=normal only.
 
virtual int getAutoZoneMode () const =0
 Returns AutoZone modes: 0 for edge, 1 for size, 2 for zones.
 
virtual int getAutoZoneSize () const =0
 Return AutoZone size (number of zones across largest dimension of x,y)
 
virtual int getAutoZoneTotal () const =0
 Return AutoZone target (maximum) total number of zones.
 
virtual bool isAutoZoneTotalAllowed () const =0
 check if AutoZone Total can be performed
 
virtual double computeZones2D () const =0
 Return number of 2d zones in xy plane.
 
virtual const DVectgetOrigin () const =0
 Return extrusion origin point.
 
virtual const AxesgetAxesInput () const =0
 Return input (raw) Axes.
 
virtual Axes getAxes () const =0
 Return internal Axes (modified for orthogonality and unit lengths)
 
virtual const DVectgetUAxis () const =0
 Return extrusion u-axis direction (unit length)
 
virtual const DVectgetVAxis () const =0
 Return extrusion v-axis direction (unit length)
 
virtual void setOrigin (DVect c)=0
 Set extrusion origin.
 
virtual void setUAxis (DVect u)=0
 Set extrusion u-axis direction (unit length), adjust v-axis and normal.
 
virtual void setVAxis (DVect v)=0
 Set extrusion v-axis direction (unit length), adjust u-axis and normal.
 
virtual void setUVAxes (DVect u, DVect v)=0
 Set extrusion u,v axes, adjust v-axis, compute normal.
 
virtual bool testAxesBasisNormal ()=0
 Return true if u,v (and n in 3D) axes are unit length.
 
virtual bool testAxesBasisOrthogonal ()=0
 Return true if u,v (and n in 3D) axes are orthogonal.
 
virtual bool isAutoValidation () const =0
 Return auto-validation state, true means validation checks disable changes that created invalidate geometry.
 
virtual void setAutoValidation (bool x)=0
 Set auto-validation state, true means validation checks disable changes that created invalidate geometry.
 
virtual double getValidationTol () const =0
 Return relative tolerance used in auto-validation.
 
virtual void setValidationTol (double x)=0
 Set relative tolerance used in auto-validation.
 
virtual double computeValidationAbsTol () const =0
 Compute absolute tolerance used in validation.
 
virtual void setEdgeCombineTolerance (const double tol)=0
 Set tolerance for combining multiple edges to a single curved edge (affects amount of control points on the new edge)
 
virtual double getEdgeCombineTolerance () const =0
 Return tolerance for combining multiple edges.
 
virtual bool countZoneQuality (int statecount[], bool areaCheck=false) const =0
 Count number of problem zones, index 0=ok, 1,2=warnings, 3,4=bad. Return true if any bad.
 
virtual bool anyZonesBad (bool areaCheck=false) const =0
 Return true if any bad zones.
 
virtual QString getBadZonesReport () const =0
 Return descriptive string of warning and bad zone counts.
 
virtual QString getZoneQualityReport (bool badonly=false) const =0
 Return descriptive string of bad zone counts.
 
virtual QString getZoneQualityReport (int statecount[]) const =0
 Convert countlists to string report.
 
virtual uint32 getPointGroupNotice () const =0
 Notice point groups changed.
 
virtual uint32 getEdgeGroupNotice () const =0
 Notice edge groups changed.
 
virtual uint32 getBlockGroupNotice () const =0
 Notice block groups changed.
 
virtual uint32 getTwoDGeomChangedNotice () const =0
 Notice that 2D geometry has changed (points/edges/blocks moved or removed)
 
virtual DExtent3 getExtent () const =0
 Get Extension.
 
virtual void getGroups (std::map< IString, IStringList > *) const =0
 Gets all availables groups.
 
virtual void getAvailableSlots (IStringList *) const =0
 Gets all availables slots.
 

Public Attributes

shared::Signal< uint64 > pointAdded
 
shared::Signal< uint64 > pointRemoved
 
shared::Signal< uint64 > edgeAdded
 
shared::Signal< uint64 > edgeRemoved
 
shared::Signal< uint64 > blockAdded
 
shared::Signal< uint64 > blockAddedLater
 
shared::Signal< uint64 > blockRemoved
 
shared::Signal< uint64 > pointMoved
 
shared::Signal< uint64 > edgeMoved
 
shared::Signal< uint64 > blockMoved
 
shared::Signal< uint64 > edgePointChanged
 
shared::Signal< uint64 > blockEdgeChanged
 
shared::Signal< uint64 > edgeTypeChanged
 
shared::Signal< uint64, uint32 > edgeControlPointAdded
 
shared::Signal< uint64, uint32 > edgeSizeChanged
 
shared::Signal< uint64, double > edgeRatioChanged
 
shared::Signal< uint64, uint32 > blockMultiplierChanged
 
shared::Signal< uint64 > blockOrientationChanged
 
shared::Signal axesChanged
 
shared::Signal< bool, int32, double, int32, int32 > autoZoneChange
 
shared::Signal< int32 > metaAdded
 
shared::Signal< int32 > metaRemoved
 
shared::Signal< int32 > metaChanged
 

Static Public Attributes

static const TType type_ = 0x4cb61c35
 The type identification number for this class, for use in convert_cast() and convert_getcast().
 

Detailed Description

Provides interface to IExtrudeSet. Contains containers for points, edges and blocks objects.

Member Function Documentation

◆ clearMetaData()

virtual void extruder::IExtrudeSet::clearMetaData ( )
pure virtual

MetaData is used to store generic data and it contains a key-value pair of strings. Clear Meta Data

◆ getEdgeContainer()

virtual IContainer * extruder::IExtrudeSet::getEdgeContainer ( )
pure virtual

Test if a (quad) block exists with 2 points on a diagonal.

returns a pointer to the edge container container.

◆ getPointContainer()

virtual IContainer * extruder::IExtrudeSet::getPointContainer ( )
pure virtual

Adds a block to the block container and returns a pointer to the newly created object.

returns a pointer to the point container.


The documentation for this class was generated from the following file: