| 
    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().