Itasca C++ Interface
Loading...
Searching...
No Matches
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 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, 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
 Return true if any point-point are too close, by distance atol.
 
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
 Set AutoZone flag state.
 
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)
 

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.

◆ getOrigin()

virtual const DVect & extruder::IExtrudeSet::getOrigin ( ) const
pure virtual

Set AutoZone flag state.

Set AutoZone mode: 0 for edge, 1 for size, 2 for zones Set AutoZone direction: 0=all, 1=x,y only, 2=normal only. Set AutoZone target zone average edge length Set AutoZone target size (number of zones across largest dimension of x,y) Set AutoZone target target (maximum) total number of zones Return extrusion origin point

◆ 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.

◆ isAutoZone()

virtual bool extruder::IExtrudeSet::isAutoZone ( ) const
pure virtual

Return true if any point-point are too close, by distance atol.

Return true if any point-edge are too close, by distance atol Return true if any edges are crossing Return true if points insde block area. Return true if any validation checks fail Returns true is auto zone mode is on


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