24 #ifndef _DBMPOLYGON_H_INCLUDED_
25 #define _DBMPOLYGON_H_INCLUDED_
32 class OdDbMPolygonCrossing;
97 const double* values );
const double OdDbMPolygonCrossingFuzz
OdSmartPtr< OdDbMPolygon > OdDbMPolygonPtr
OdArray< OdDbMPolygonCrossing, OdPlainObjectsAllocator< OdDbMPolygonCrossing > > OdDbMPolygonCrossingArray
void setGradientOneColorMode(bool oneColorMode)
virtual OdResult subTransformBy(const OdGeMatrix3d &xfn)
virtual OdResult getArea(double &area) const
double getPerimeter() const
virtual bool patternDouble() const
virtual void dxfOutFields(OdDbDxfFiler *pFiler) const
virtual OdResult getMPolygonLoopAt(int loopIndex, OdGePoint2dArray &vertices, OdGeDoubleArray &bulges) const
virtual OdResult dwgInFields(OdDbDwgFiler *pFiler)
virtual int numMPolygonLoops() const
OdResult createLoops(const OdArray< OdGePoint2dArray > &vertices, const OdArray< OdGeDoubleArray > &bulges, OdIntArray &rejectedObjs, bool excludeCrossing=true, double tol=OdDbMPolygonCrossingFuzz)
virtual OdResult appendLoopFromBoundary(const OdDb2dPolyline *pPoly, bool excludeCrossing=true, double tol=OdDbMPolygonCrossingFuzz)
virtual double patternScale() const
virtual double elevation() const
void setGradientAngle(double angle)
virtual bool isPointOnLoopBoundary(const OdGePoint3d &worldPt, int loop, double tol=OdDbMPolygonCrossingFuzz) const
void setGradient(OdDbHatch::GradientPatternType gradType, const OdString &gradName)
virtual OdResult appendLoopFromBoundary(const OdDbPolyline *pPoly, bool excludeCrossing=true, double tol=OdDbMPolygonCrossingFuzz)
virtual void setPatternScale(double scale)
virtual OdResult appendMPolygonLoop(const OdGePoint2dArray &vertices, const OdGeDoubleArray &bulges, bool excludeCrossing=true, double tol=OdDbMPolygonCrossingFuzz)
virtual void setPatternAngle(double angle)
virtual int numPatternDefinitions() const
virtual OdResult setLoopDirection(int lindex, OdDbMPolygon::loopDir dir)
virtual void dwgOutFields(OdDbDwgFiler *pFiler) const
virtual OdResult dxfInFields(OdDbDxfFiler *pFiler)
virtual void setPatternColor(const OdCmColor &pc)
virtual void setElevation(double elevation)
void setGradientColors(unsigned int count, const OdCmColor *colors, const double *values)
virtual void getPatternDefinitionAt(int index, double &angle, double &baseX, double &baseY, double &offsetX, double &offsetY, OdGeDoubleArray &dashes) const
virtual OdGeVector3d normal() const
OdResult createLoopsFromBoundaries(const OdDbObjectIdArray &ids, OdIntArray &rejectedObjs, bool excludeCrossing=true, double tol=OdDbMPolygonCrossingFuzz)
virtual void setPattern(OdDbHatch::HatchPatternType patType, const OdString &patName)
virtual void setPatternDouble(bool isDouble)
virtual OdResult appendLoopFromBoundary(const OdDbCircle *pCircle, bool excludeCrossing=true, double tol=OdDbMPolygonCrossingFuzz)
virtual OdResult insertMPolygonLoopAt(int loopIndex, const OdGePoint2dArray &vertices, const OdGeDoubleArray &bulges, bool excludeCrossing=true, double tol=OdDbMPolygonCrossingFuzz)
int getParentLoop(int curLoop) const
virtual OdResult removeMPolygonLoopAt(int loopIndex)
virtual OdResult getLoopDirection(int lindex, OdDbMPolygon::loopDir &dir) const
virtual OdGeVector2d getOffsetVector() const
virtual double patternSpace() const
ODDB_DECLARE_MEMBERS(OdDbMPolygon)
virtual const OdString & patternName() const
virtual OdDbHatchPtr hatch()
virtual OdCmColor patternColor() const
virtual OdResult evaluateHatch(bool bUnderestimateNumLines=false)
virtual OdDbHatch::HatchPatternType patternType() const
virtual void setNormal(const OdGeVector3d &normal)
void setGradientShift(float shiftValue)
virtual bool subWorldDraw(OdGiWorldDraw *pWd) const
virtual double patternAngle() const
virtual OdResult subExplode(OdRxObjectPtrArray &entitySet) const
virtual void saveAs(OdGiWorldDraw *pWd, OdDb::DwgVersion ver) const
int getClosestLoopTo(const OdGePoint3d &worldPt) const
virtual void setPatternSpace(double space)
virtual void subSetDatabaseDefaults(OdDbDatabase *pDb, bool doSubents)
virtual int isPointInsideMPolygon(const OdGePoint3d &worldPt, OdGeIntArray &loopsArray, double tol=OdDbMPolygonCrossingFuzz) const
OdArray< OdDbMPolygonNode * > mChildren
OdDbMPolygonNode * mParent