|
OOFEM
2.4
OOFEM.org - Object Oriented Finite Element Solver
|
#include <geometry.h>
Inheritance diagram for oofem::PolygonLine:
Collaboration diagram for oofem::PolygonLine:Public Member Functions | |
| PolygonLine () | |
| virtual | ~PolygonLine () |
| virtual BasicGeometry * | Clone () |
| virtual void | computeNormalSignDist (double &oDist, const FloatArray &iPoint) const |
| Functions for computing signed distance in normal and tangential direction. More... | |
| virtual void | computeTangentialSignDist (double &oDist, const FloatArray &iPoint, double &oMinDistArcPos) const |
| virtual void | computeLocalCoordinates (FloatArray &oLocCoord, const FloatArray &iPoint) const |
| Computes arc length coordinate in the range [0,1]. More... | |
| double | computeLength () const |
| virtual void | giveSubPolygon (std::vector< FloatArray > &oPoints, const double &iXiStart, const double &iXiEnd) const |
| virtual void | giveGlobalCoordinates (FloatArray &oGlobalCoord, const double &iArcPos) const |
| void | giveNormal (FloatArray &oNormal, const double &iArcPosition) const |
| virtual void | giveTangent (FloatArray &oTangent, const double &iArcPosition) const |
| Computes tangential direction at given local coordinate (arcPos) More... | |
| virtual IRResultType | initializeFrom (InputRecord *ir) |
| Initializes the Geometry from the InputRecord. More... | |
| virtual void | giveInputRecord (DynamicInputRecord &input) |
| virtual const char * | giveClassName () const |
| Gives class name. More... | |
| virtual bool | intersects (Element *element) |
| Checks whether an element is interacted, Element reference will be later replaced by Geometry. More... | |
| virtual void | computeIntersectionPoints (Element *element, std::vector< FloatArray > &oIntersectionPoints) |
| Gives intersection points between this Geometry and Element. More... | |
| virtual void | computeIntersectionPoints (Line *l, std::vector< FloatArray > &oIntersectionPoints) |
| void | computeIntersectionPoints (const PolygonLine &iPolygonLine, std::vector< FloatArray > &oIntersectionPoints) const |
| void | computeIntersectionPoints (const FloatArray &iXStart, const FloatArray &iXEnd, std::vector< FloatArray > &oIntersectionPoints) const |
| virtual int | computeNumberOfIntersectionPoints (Element *element) |
| Gives number of intersection points of Geometry entity with an element, Element reference will be later replaced by Geometry. More... | |
| virtual bool | isOutside (BasicGeometry *bg) |
| virtual bool | isInside (Element *element) |
| virtual bool | isInside (FloatArray &point) |
| virtual void | printYourself () |
| virtual void | printVTK (int iTStepIndex, int iLineIndex) |
| virtual bool | giveTips (TipInfo &oStartTipInfo, TipInfo &oEndTipInfo) const |
| Returns start and end tip of the geometry, if applicable. More... | |
| virtual void | giveBoundingSphere (FloatArray &oCenter, double &oRadius) |
| void | cropPolygon (const double &iArcPosStart, const double &iArcPosEnd) |
| Keep only a part of the underlying geometry, characterized by iArcPosStart and iArcPosEnd. More... | |
Public Member Functions inherited from oofem::BasicGeometry | |
| BasicGeometry () | |
| Constructor. More... | |
| BasicGeometry (const BasicGeometry &iBasicGeometry) | |
| Copy constructor: should be implemented when a class deals with pointers. More... | |
| virtual | ~BasicGeometry () |
| Destructor. More... | |
| virtual double | computeDistanceTo (const FloatArray *point) |
| Computes normal signed distance between this object and a point. More... | |
| const FloatArray & | giveVertex (int n) const |
| void | setVertices (const std::vector< FloatArray > &iVertices) |
| void | removeDuplicatePoints (const double &iTolSquare) |
| void | insertVertexFront (const FloatArray &iP) |
| void | insertVertexBack (const FloatArray &iP) |
| void | clear () |
| void | translate (const FloatArray &iTrans) |
| std::string | errorInfo (const char *func) const |
| int | giveNrVertices () const |
| Returns number of Geometry vertices. More... | |
| virtual contextIOResultType | saveContext (DataStream &stream, ContextMode mode, void *obj=NULL) |
| Stores the state of receiver to output stream. More... | |
| virtual contextIOResultType | restoreContext (DataStream &stream, ContextMode mode, void *obj=NULL) |
| Restores the state of receiver from output stream. More... | |
| virtual void | draw (oofegGraphicContext &gc) |
Private Attributes | |
| bool | mDebugVtk |
Additional Inherited Members | |
Static Public Member Functions inherited from oofem::BasicGeometry | |
| static double | computeLineDistance (const FloatArray &iP1, const FloatArray &iP2, const FloatArray &iQ1, const FloatArray &iQ2) |
| Computes the distance between two lines. More... | |
Protected Attributes inherited from oofem::BasicGeometry | |
| std::vector< FloatArray > | mVertices |
| List of geometry vertices. More... | |
Definition at line 293 of file geometry.h.
| oofem::PolygonLine::PolygonLine | ( | ) |
Definition at line 853 of file geometry.C.
References mDebugVtk.
|
inlinevirtual |
Definition at line 298 of file geometry.h.
|
inlinevirtual |
Implements oofem::BasicGeometry.
Definition at line 300 of file geometry.h.
|
virtual |
Gives intersection points between this Geometry and Element.
Reimplemented from oofem::BasicGeometry.
Definition at line 1427 of file geometry.C.
References oofem::FloatArray::distance(), oofem::DofManager::giveCoordinates(), oofem::Element::giveDofManager(), oofem::Element::giveNumberOfBoundarySides(), and oofem::FloatArray::push_back().
Referenced by oofem::Crack::computeCrackIntersectionPoints(), computeIntersectionPoints(), and computeNumberOfIntersectionPoints().
|
virtual |
Definition at line 1527 of file geometry.C.
References oofem::FloatArray::at(), oofem::BasicGeometry::giveNrVertices(), and oofem::BasicGeometry::giveVertex().
| void oofem::PolygonLine::computeIntersectionPoints | ( | const PolygonLine & | iPolygonLine, |
| std::vector< FloatArray > & | oIntersectionPoints | ||
| ) | const |
Definition at line 1568 of file geometry.C.
References computeIntersectionPoints(), oofem::BasicGeometry::giveNrVertices(), and oofem::BasicGeometry::giveVertex().
| void oofem::PolygonLine::computeIntersectionPoints | ( | const FloatArray & | iXStart, |
| const FloatArray & | iXEnd, | ||
| std::vector< FloatArray > & | oIntersectionPoints | ||
| ) | const |
Definition at line 1580 of file geometry.C.
References oofem::FloatArray::add(), oofem::FloatMatrix::beInverseOf(), oofem::FloatArray::beProductOf(), oofem::FloatArray::dotProduct(), oofem::FloatMatrix::giveDeterminant(), oofem::BasicGeometry::giveNrVertices(), and oofem::BasicGeometry::giveVertex().
| double oofem::PolygonLine::computeLength | ( | ) | const |
Definition at line 1095 of file geometry.C.
References oofem::BasicGeometry::mVertices.
Referenced by oofem::Crack::computeLength(), computeTangentialSignDist(), giveGlobalCoordinates(), giveNormal(), giveSubPolygon(), and giveTangent().
|
virtual |
Computes arc length coordinate in the range [0,1].
Reimplemented from oofem::BasicGeometry.
Definition at line 1092 of file geometry.C.
|
virtual |
Functions for computing signed distance in normal and tangential direction.
Used by XFEM level set functions.
Implements oofem::BasicGeometry.
Definition at line 865 of file geometry.C.
References oofem::FloatArray::at(), oofem::FloatArray::beDifferenceOf(), oofem::FloatArray::computeSquaredNorm(), oofem::FloatArray::distance_square(), oofem::dot(), oofem::FloatArray::dotProduct(), oofem::BasicGeometry::giveNrVertices(), oofem::BasicGeometry::giveVertex(), max, oofem::FloatArray::normalize(), and oofem::sgn().
|
virtual |
Gives number of intersection points of Geometry entity with an element, Element reference will be later replaced by Geometry.
Reimplemented from oofem::BasicGeometry.
Definition at line 1638 of file geometry.C.
References computeIntersectionPoints().
|
virtual |
Implements oofem::BasicGeometry.
Definition at line 954 of file geometry.C.
References computeLength(), oofem::FloatArray::distance(), oofem::BasicGeometry::giveNrVertices(), oofem::BasicGeometry::giveVertex(), min, and oofem::FloatArray::resizeWithValues().
Referenced by oofem::Crack::computeArcPoints(), oofem::Crack::computeCrackIntersectionPoints(), and oofem::Line::computeTangentialSignDist().
| void oofem::PolygonLine::cropPolygon | ( | const double & | iArcPosStart, |
| const double & | iArcPosEnd | ||
| ) |
Keep only a part of the underlying geometry, characterized by iArcPosStart and iArcPosEnd.
Definition at line 1800 of file geometry.C.
References giveSubPolygon(), oofem::BasicGeometry::removeDuplicatePoints(), and oofem::BasicGeometry::setVertices().
Referenced by oofem::XfemStructureManager::splitCracks().
|
virtual |
Reimplemented from oofem::BasicGeometry.
Definition at line 1778 of file geometry.C.
References oofem::FloatArray::add(), oofem::FloatArray::distance(), oofem::BasicGeometry::giveNrVertices(), oofem::BasicGeometry::giveVertex(), max, and oofem::FloatArray::times().
|
inlinevirtual |
Gives class name.
Reimplemented from oofem::BasicGeometry.
Definition at line 316 of file geometry.h.
|
virtual |
Reimplemented from oofem::BasicGeometry.
Definition at line 1162 of file geometry.C.
References oofem::FloatArray::add(), oofem::FloatArray::beScaled(), computeLength(), and oofem::BasicGeometry::mVertices.
|
virtual |
Reimplemented from oofem::BasicGeometry.
Definition at line 1283 of file geometry.C.
References _IFT_PolygonLine_points, oofem::FloatArray::at(), oofem::Node::giveCoordinate(), oofem::Element::giveNode(), oofem::Element::giveNumberOfNodes(), oofem::max(), oofem::min(), oofem::BasicGeometry::mVertices, oofem::FloatArray::resize(), oofem::DynamicInputRecord::setField(), and oofem::DynamicInputRecord::setRecordKeywordField().
| void oofem::PolygonLine::giveNormal | ( | FloatArray & | oNormal, |
| const double & | iArcPosition | ||
| ) | const |
Definition at line 1193 of file geometry.C.
References computeLength(), oofem::BasicGeometry::mVertices, oofem::FloatArray::normalize(), OOFEM_ERROR, and oofem::FloatArray::resize().
Referenced by oofem::XfemStructureManager::splitCracks().
|
virtual |
Reimplemented from oofem::BasicGeometry.
Definition at line 1116 of file geometry.C.
References oofem::FloatArray::add(), oofem::FloatArray::beScaled(), computeLength(), and oofem::BasicGeometry::mVertices.
Referenced by cropPolygon().
|
virtual |
Computes tangential direction at given local coordinate (arcPos)
Reimplemented from oofem::BasicGeometry.
Definition at line 1228 of file geometry.C.
References computeLength(), oofem::BasicGeometry::mVertices, oofem::FloatArray::normalize(), and OOFEM_ERROR.
Referenced by oofem::XfemStructureManager::splitCracks().
Returns start and end tip of the geometry, if applicable.
Reimplemented from oofem::BasicGeometry.
Definition at line 1724 of file geometry.C.
References oofem::FloatArray::at(), oofem::FloatArray::beDifferenceOf(), oofem::BasicGeometry::giveNrVertices(), oofem::BasicGeometry::giveVertex(), oofem::TipInfo::mArcPos, oofem::TipInfo::mGlobalCoord, oofem::TipInfo::mNormalDir, oofem::TipInfo::mTangDir, oofem::TipInfo::mTipIndex, and oofem::FloatArray::normalize().
|
virtual |
Initializes the Geometry from the InputRecord.
Reimplemented from oofem::BasicGeometry.
Definition at line 1260 of file geometry.C.
References _IFT_PolygonLine_points, oofem::FloatArray::at(), oofem::FloatArray::giveSize(), IR_GIVE_FIELD, oofem::IRRT_OK, and oofem::BasicGeometry::mVertices.
|
virtual |
Checks whether an element is interacted, Element reference will be later replaced by Geometry.
Reimplemented from oofem::BasicGeometry.
Definition at line 1335 of file geometry.C.
References oofem::Node::giveCoordinate(), oofem::Element::giveGeometryType(), oofem::Element::giveNode(), oofem::BasicGeometry::giveNrVertices(), and oofem::BasicGeometry::giveVertex().
|
virtual |
Reimplemented from oofem::BasicGeometry.
Definition at line 1393 of file geometry.C.
|
virtual |
Reimplemented from oofem::BasicGeometry.
Definition at line 1399 of file geometry.C.
References oofem::max(), and oofem::min().
|
virtual |
Reimplemented from oofem::BasicGeometry.
Definition at line 1645 of file geometry.C.
|
virtual |
Reimplemented from oofem::BasicGeometry.
Definition at line 1661 of file geometry.C.
References oofem::FloatArray::at(), oofem::BasicGeometry::giveNrVertices(), and oofem::BasicGeometry::giveVertex().
Referenced by oofem::GeometryBasedEI::propagateFronts().
|
virtual |
Reimplemented from oofem::BasicGeometry.
Definition at line 1650 of file geometry.C.
References oofem::BasicGeometry::mVertices.
|
private |
Definition at line 295 of file geometry.h.
Referenced by PolygonLine().