|
OOFEM 3.0
|
#include <geometry.h>
Public Member Functions | |
| PolygonLine () | |
| virtual | ~PolygonLine () |
| BasicGeometry * | Clone () override |
| void | computeNormalSignDist (double &oDist, const FloatArray &iPoint) const override |
| void | computeTangentialSignDist (double &oDist, const FloatArray &iPoint, double &oMinDistArcPos) const override |
| void | computeLocalCoordinates (FloatArray &oLocCoord, const FloatArray &iPoint) const override |
| Computes arc length coordinate in the range [0,1]. | |
| double | computeLength () const |
| void | giveSubPolygon (std ::vector< FloatArray > &oPoints, const double &iXiStart, const double &iXiEnd) const override |
| void | giveGlobalCoordinates (FloatArray &oGlobalCoord, const double &iArcPos) const override |
| void | giveNormal (FloatArray &oNormal, const double &iArcPosition) const |
| void | giveTangent (FloatArray &oTangent, const double &iArcPosition) const override |
| Computes tangential direction at given local coordinate (arcPos). | |
| void | initializeFrom (InputRecord &ir) override |
| Initializes the Geometry from the InputRecord. | |
| void | giveInputRecord (DynamicInputRecord &input) override |
| const char * | giveClassName () const override |
| Gives class name. | |
| bool | intersects (Element *element) override |
| Checks whether an element is interacted, Element reference will be later replaced by Geometry. | |
| void | computeIntersectionPoints (Element *element, std ::vector< FloatArray > &oIntersectionPoints) override |
| Gives intersection points between this Geometry and Element. | |
| 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 |
| int | computeNumberOfIntersectionPoints (Element *element) override |
| Gives number of intersection points of Geometry entity with an element, Element reference will be later replaced by Geometry. | |
| bool | isOutside (BasicGeometry *bg) override |
| bool | isInside (Element *element) override |
| bool | isInside (const FloatArray &point) override |
| void | printYourself () override |
| void | printVTK (int iTStepIndex, int iLineIndex) override |
| bool | giveTips (TipInfo &oStartTipInfo, TipInfo &oEndTipInfo) const override |
| void | giveBoundingSphere (FloatArray &oCenter, double &oRadius) override |
| void | cropPolygon (const double &iArcPosStart, const double &iArcPosEnd) |
| Public Member Functions inherited from oofem::BasicGeometry | |
| BasicGeometry () | |
| Constructor. | |
| BasicGeometry (const BasicGeometry &iBasicGeometry) | |
| Copy constructor: should be implemented when a class deals with pointers. | |
| virtual | ~BasicGeometry () |
| Destructor. | |
| virtual double | computeDistanceTo (const FloatArray &point) |
| Computes normal signed distance between this object and a point. | |
| 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. | |
| virtual void | saveContext (DataStream &stream, ContextMode mode) |
| virtual void | restoreContext (DataStream &stream, ContextMode mode) |
| 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) |
| Protected Attributes inherited from oofem::BasicGeometry | |
| std ::vector< FloatArray > | mVertices |
| List of geometry vertices. | |
Definition at line 291 of file geometry.h.
| oofem::PolygonLine::PolygonLine | ( | ) |
Definition at line 841 of file geometry.C.
References oofem::BasicGeometry::BasicGeometry(), and mDebugVtk.
Referenced by Clone(), and computeIntersectionPoints().
|
inlinevirtual |
Definition at line 296 of file geometry.h.
|
inlineoverridevirtual |
Implements oofem::BasicGeometry.
Definition at line 298 of file geometry.h.
References oofem::BasicGeometry::BasicGeometry(), and PolygonLine().
| void oofem::PolygonLine::computeIntersectionPoints | ( | const FloatArray & | iXStart, |
| const FloatArray & | iXEnd, | ||
| std ::vector< FloatArray > & | oIntersectionPoints ) const |
Definition at line 1552 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().
| void oofem::PolygonLine::computeIntersectionPoints | ( | const PolygonLine & | iPolygonLine, |
| std ::vector< FloatArray > & | oIntersectionPoints ) const |
Definition at line 1540 of file geometry.C.
References computeIntersectionPoints(), oofem::BasicGeometry::giveNrVertices(), oofem::BasicGeometry::giveVertex(), and PolygonLine().
|
overridevirtual |
Gives intersection points between this Geometry and Element.
Reimplemented from oofem::BasicGeometry.
Definition at line 1409 of file geometry.C.
References computeIntersectionPoints(), oofem::distance(), oofem::DofManager::giveCoordinates(), oofem::Element::giveDofManager(), and oofem::Element::giveNumberOfBoundarySides().
Referenced by oofem::Crack::computeCrackIntersectionPoints(), computeIntersectionPoints(), computeIntersectionPoints(), and computeNumberOfIntersectionPoints().
| void oofem::PolygonLine::computeIntersectionPoints | ( | Line * | l, |
| std ::vector< FloatArray > & | oIntersectionPoints ) |
Definition at line 1499 of file geometry.C.
References oofem::FloatArray::at(), oofem::BasicGeometry::giveNrVertices(), and oofem::BasicGeometry::giveVertex().
| double oofem::PolygonLine::computeLength | ( | ) | const |
Definition at line 1083 of file geometry.C.
References oofem::distance(), and oofem::BasicGeometry::mVertices.
Referenced by oofem::Crack::computeLength(), computeTangentialSignDist(), giveGlobalCoordinates(), giveNormal(), giveSubPolygon(), and giveTangent().
|
overridevirtual |
Computes arc length coordinate in the range [0,1].
Reimplemented from oofem::BasicGeometry.
Definition at line 1080 of file geometry.C.
|
overridevirtual |
Functions for computing signed distance in normal and tangential direction. Used by XFEM level set functions.
Implements oofem::BasicGeometry.
Definition at line 853 of file geometry.C.
References oofem::FloatArray::at(), oofem::FloatArray::beDifferenceOf(), oofem::FloatArray::computeSquaredNorm(), oofem::distance_square(), oofem::FloatArray::distance_square(), oofem::dot(), oofem::FloatArray::dotProduct(), oofem::BasicGeometry::giveNrVertices(), oofem::BasicGeometry::giveVertex(), oofem::FloatArray::normalize_giveNorm(), oofem::sgn(), and oofem::Vec2().
|
overridevirtual |
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 1610 of file geometry.C.
References computeIntersectionPoints().
|
overridevirtual |
Implements oofem::BasicGeometry.
Definition at line 942 of file geometry.C.
References computeLength(), oofem::distance(), oofem::FloatArray::distance(), oofem::BasicGeometry::giveNrVertices(), oofem::BasicGeometry::giveVertex(), 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 1772 of file geometry.C.
References giveSubPolygon(), oofem::BasicGeometry::removeDuplicatePoints(), and oofem::BasicGeometry::setVertices().
Referenced by oofem::XfemStructureManager::splitCracks().
|
overridevirtual |
Reimplemented from oofem::BasicGeometry.
Definition at line 1750 of file geometry.C.
References oofem::FloatArray::add(), oofem::distance(), oofem::BasicGeometry::giveNrVertices(), oofem::BasicGeometry::giveVertex(), and oofem::FloatArray::times().
|
inlineoverridevirtual |
Gives class name.
Reimplemented from oofem::BasicGeometry.
Definition at line 314 of file geometry.h.
|
overridevirtual |
Reimplemented from oofem::BasicGeometry.
Definition at line 1150 of file geometry.C.
References oofem::FloatArray::add(), oofem::FloatArray::beScaled(), computeLength(), oofem::distance(), and oofem::BasicGeometry::mVertices.
|
overridevirtual |
Reimplemented from oofem::BasicGeometry.
Definition at line 1265 of file geometry.C.
References _IFT_PolygonLine_points, oofem::FloatArray::at(), 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 1181 of file geometry.C.
References computeLength(), oofem::distance(), oofem::BasicGeometry::mVertices, oofem::FloatArray::normalize(), OOFEM_ERROR, oofem::FloatArray::resize(), and oofem::Vec2().
Referenced by oofem::XfemStructureManager::splitCracks().
|
overridevirtual |
Reimplemented from oofem::BasicGeometry.
Definition at line 1104 of file geometry.C.
References oofem::FloatArray::add(), oofem::FloatArray::beScaled(), computeLength(), oofem::distance(), and oofem::BasicGeometry::mVertices.
Referenced by cropPolygon().
|
overridevirtual |
Computes tangential direction at given local coordinate (arcPos).
Reimplemented from oofem::BasicGeometry.
Definition at line 1216 of file geometry.C.
References computeLength(), oofem::distance(), oofem::BasicGeometry::mVertices, oofem::FloatArray::normalize(), OOFEM_ERROR, and oofem::Vec2().
Referenced by oofem::XfemStructureManager::splitCracks().
|
overridevirtual |
Returns start and end tip of the geometry, if applicable.
Reimplemented from oofem::BasicGeometry.
Definition at line 1696 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().
|
overridevirtual |
Initializes the Geometry from the InputRecord.
Reimplemented from oofem::BasicGeometry.
Definition at line 1248 of file geometry.C.
References _IFT_PolygonLine_points, oofem::FloatArray::at(), oofem::FloatArray::giveSize(), IR_GIVE_FIELD, oofem::BasicGeometry::mVertices, and oofem::Vec2().
|
overridevirtual |
Checks whether an element is interacted, Element reference will be later replaced by Geometry.
Reimplemented from oofem::BasicGeometry.
Definition at line 1317 of file geometry.C.
References oofem::DofManager::giveCoordinate(), oofem::Element::giveGeometryType(), oofem::Element::giveNode(), oofem::BasicGeometry::giveNrVertices(), and oofem::BasicGeometry::giveVertex().
|
overridevirtual |
Reimplemented from oofem::BasicGeometry.
Definition at line 1381 of file geometry.C.
|
overridevirtual |
Reimplemented from oofem::BasicGeometry.
Definition at line 1375 of file geometry.C.
|
overridevirtual |
Reimplemented from oofem::BasicGeometry.
Definition at line 1617 of file geometry.C.
References oofem::BasicGeometry::BasicGeometry().
|
overridevirtual |
Reimplemented from oofem::BasicGeometry.
Definition at line 1633 of file geometry.C.
References oofem::BasicGeometry::giveNrVertices(), and oofem::BasicGeometry::giveVertex().
Referenced by oofem::GeometryBasedEI::propagateFronts().
|
overridevirtual |
Reimplemented from oofem::BasicGeometry.
Definition at line 1622 of file geometry.C.
References oofem::BasicGeometry::mVertices.
|
private |
Definition at line 293 of file geometry.h.
Referenced by PolygonLine().