Itasca C++ Interface
|
Provides interface to IExtrudeSet. Contains containers for points, edges and blocks objects. More...
#include <iextrudeset.h>
Public Member Functions | |
virtual IThing * | getIThing ()=0 |
returns its IThing pointer | |
virtual const IThing * | getIThing () const =0 |
returns its const IThing pointer | |
virtual IString | getName () const =0 |
returns the set name | |
virtual IExtrudePoint * | createPoint (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 IExtrudeEdge * | createEdge (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 IContainer * | getPointContainer ()=0 |
Adds a block to the block container and returns a pointer to the newly created object. | |
virtual const IContainer * | getPointContainer () const =0 |
returns a const pointer to the point container. | |
virtual const IExtrudePoint * | findPointWithID (uint64 id) const =0 |
given an id, returns a const pointer to the point object. | |
virtual IExtrudePoint * | findPointWithID (uint64 id)=0 |
given an id, returns a pointer to the point object. | |
virtual const IGeomPoint * | findClosestPoint (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 IGeomPoint * | findClosestPoint (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 IContainer * | getEdgeContainer ()=0 |
Test if a (quad) block exists with 2 points on a diagonal. | |
virtual const IContainer * | getEdgeContainer () const =0 |
returns a const pointer to the edge container container. | |
virtual const IExtrudeEdge * | findEdgeWithID (uint64 id) const =0 |
given an id, returns a const pointer to the edge object. | |
virtual IExtrudeEdge * | findEdgeWithID (uint64 id)=0 |
given an id, returns a pointer to the edge object. | |
virtual const IExtrudeEdge * | findClosestEdge (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 IExtrudeEdge * | findClosestEdge (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 IExtrudeEdge * | findMatchingEdge (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 IExtrudeEdge * | findMatchingEdge (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 IExtrudeRegion * | createBlockByPoints (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 IExtrudeRegion * | createBlockByPoints (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 IExtrudeRegion * | createBlockAt (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 IContainer * | getRegionsContainer ()=0 |
returns a pointer to the block container. | |
virtual const IContainer * | getRegionsContainer () const =0 |
returns a const pointer to the block container. | |
virtual const IExtrudeRegion * | findBlockWithID (uint64 id) const =0 |
given an id, returns a const pointer to the block object. | |
virtual IExtrudeRegion * | findBlockWithID (uint64 id)=0 |
given an id, returns a pointer to the block object. | |
virtual const IExtrudeRegion * | findClosestBlock (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 IExtrudeRegion * | findClosestBlock (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 DVect & | getOrigin () const =0 |
Set AutoZone flag state. | |
virtual const Axes & | getAxesInput () const =0 |
Return input (raw) Axes. | |
virtual Axes | getAxes () const =0 |
Return internal Axes (modified for orthogonality and unit lengths) | |
virtual const DVect & | getUAxis () const =0 |
Return extrusion u-axis direction (unit length) | |
virtual const DVect & | getVAxis () 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. | |
Static Public Attributes | |
static const TType | type_ = 0x4cb61c35 |
The type identification number for this class, for use in convert_cast() and convert_getcast(). | |
Provides interface to IExtrudeSet. Contains containers for points, edges and blocks objects.
|
pure virtual |
MetaData is used to store generic data and it contains a key-value pair of strings. Clear Meta Data
|
pure virtual |
Test if a (quad) block exists with 2 points on a diagonal.
returns a pointer to the edge container container.
|
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
|
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.
|
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