|
OOFEM 3.0
|
#include <geometry.h>
Public Member Functions | |
| Triangle (const FloatArray &iP1, const FloatArray &iP2, const FloatArray &iP3) | |
| virtual | ~Triangle () |
| BasicGeometry * | Clone () override |
| void | computeNormalSignDist (double &oDist, const FloatArray &iPoint) const override |
| void | computeTangentialSignDist (double &oDist, const FloatArray &iPoint, double &oMinDistArcPos) const override |
| double | getArea () |
| void | computeBarycentrCoor (FloatArray &answer) const |
| double | getRadiusOfCircumCircle () |
| void | computeCenterOfCircumCircle (FloatArray &answer) const |
| void | printYourself () override |
| 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 | isOrientedAnticlockwise () |
| void | changeToAnticlockwise () |
| bool | pointIsInTriangle (const FloatArray &iP) const |
| 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. | |
| virtual void | printVTK (int iTStepIndex, int iIndex) |
| virtual void | computeLocalCoordinates (FloatArray &oLocCoord, const FloatArray &iPoint) const |
| virtual void | giveSubPolygon (std ::vector< FloatArray > &oPoints, const double &iXiStart, const double &iXiEnd) const |
| virtual void | giveGlobalCoordinates (FloatArray &oGlobalCoord, const double &iArcPos) const |
| virtual void | giveTangent (FloatArray &oTangent, const double &iArcPosition) const |
| Computes tangential direction at given local coordinate (arcPos). | |
| virtual bool | intersects (Element *element) |
| Checks whether an element is interacted, Element reference will be later replaced by Geometry. | |
| virtual void | computeIntersectionPoints (Element *element, std ::vector< FloatArray > &oIntersectionPoints) |
| Gives intersection points between this Geometry and Element. | |
| 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) |
| virtual void | initializeFrom (InputRecord &ir) |
| Initializes the Geometry from the InputRecord. | |
| virtual void | giveInputRecord (DynamicInputRecord &input) |
| virtual const char * | giveClassName () const |
| Gives class name. | |
| std::string | errorInfo (const char *func) const |
| int | giveNrVertices () const |
| Returns number of Geometry vertices. | |
| virtual bool | isOutside (BasicGeometry *bg) |
| virtual bool | isInside (Element *el) |
| virtual bool | isInside (const FloatArray &point) |
| virtual void | saveContext (DataStream &stream, ContextMode mode) |
| virtual void | restoreContext (DataStream &stream, ContextMode mode) |
| virtual void | draw (oofegGraphicContext &gc) |
| virtual bool | giveTips (TipInfo &oStartTipInfo, TipInfo &oEndTipInfo) const |
| virtual void | giveBoundingSphere (FloatArray &oCenter, double &oRadius) |
Static Public Member Functions | |
| static void | refineTriangle (std::vector< Triangle > &oRefinedTri, const Triangle &iTri) |
| Static Public Member Functions inherited from oofem::BasicGeometry | |
| static double | computeLineDistance (const FloatArray &iP1, const FloatArray &iP2, const FloatArray &iQ1, const FloatArray &iQ2) |
Additional Inherited Members | |
| Protected Attributes inherited from oofem::BasicGeometry | |
| std ::vector< FloatArray > | mVertices |
| List of geometry vertices. | |
Definition at line 217 of file geometry.h.
| oofem::Triangle::Triangle | ( | const FloatArray & | iP1, |
| const FloatArray & | iP2, | ||
| const FloatArray & | iP3 ) |
Definition at line 403 of file geometry.C.
References oofem::BasicGeometry::BasicGeometry(), and oofem::BasicGeometry::mVertices.
Referenced by Clone(), and refineTriangle().
|
inlinevirtual |
Definition at line 221 of file geometry.h.
| void oofem::Triangle::changeToAnticlockwise | ( | ) |
Definition at line 480 of file geometry.C.
References oofem::BasicGeometry::mVertices.
Referenced by oofem::Delaunay::triangulate().
|
inlineoverridevirtual |
Implements oofem::BasicGeometry.
Definition at line 223 of file geometry.h.
References oofem::BasicGeometry::BasicGeometry(), and Triangle().
| void oofem::Triangle::computeBarycentrCoor | ( | FloatArray & | answer | ) | const |
Definition at line 424 of file geometry.C.
References oofem::FloatArray::at(), oofem::distance(), oofem::BasicGeometry::mVertices, and oofem::FloatArray::resize().
Referenced by computeCenterOfCircumCircle().
| void oofem::Triangle::computeCenterOfCircumCircle | ( | FloatArray & | answer | ) | const |
Definition at line 441 of file geometry.C.
References oofem::FloatArray::at(), computeBarycentrCoor(), oofem::FloatArray::giveSize(), oofem::BasicGeometry::mVertices, oofem::FloatArray::resize(), and oofem::sum().
Referenced by oofem::Delaunay::isInsideCC().
|
inlineoverridevirtual |
Functions for computing signed distance in normal and tangential direction. Used by XFEM level set functions.
Implements oofem::BasicGeometry.
Definition at line 225 of file geometry.h.
References OOFEM_ERROR.
|
inlineoverridevirtual |
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 235 of file geometry.h.
|
inlineoverridevirtual |
| double oofem::Triangle::getArea | ( | ) |
Definition at line 410 of file geometry.C.
References oofem::BasicGeometry::mVertices.
Referenced by getRadiusOfCircumCircle(), and oofem::PatchIntegrationRule::SetUpPointsOnWedge().
| double oofem::Triangle::getRadiusOfCircumCircle | ( | ) |
Definition at line 417 of file geometry.C.
References oofem::distance(), getArea(), and oofem::BasicGeometry::mVertices.
Referenced by oofem::Delaunay::isInsideCC().
| bool oofem::Triangle::isOrientedAnticlockwise | ( | ) |
Definition at line 463 of file geometry.C.
References oofem::FloatMatrix::at(), oofem::FloatMatrix::giveDeterminant(), and oofem::BasicGeometry::giveVertex().
Referenced by oofem::Delaunay::triangulate().
| bool oofem::Triangle::pointIsInTriangle | ( | const FloatArray & | iP | ) | const |
Checks if the projection of the the point iP onto the triangle plane is inside the triangle.
Definition at line 485 of file geometry.C.
References oofem::FloatArray::add(), oofem::FloatArray::beDifferenceOf(), oofem::FloatArray::beVectorProductOf(), oofem::FloatArray::computeSquaredNorm(), oofem::FloatArray::dotProduct(), oofem::FloatArray::giveSize(), oofem::BasicGeometry::mVertices, N, oofem::FloatArray::normalize(), and oofem::Vec2().
Referenced by oofem::XfemStructuralElementInterface::computeIPAverageInTriangle().
|
overridevirtual |
Reimplemented from oofem::BasicGeometry.
Definition at line 453 of file geometry.C.
References oofem::BasicGeometry::mVertices.
|
static |
Split a triangle in four.
Definition at line 628 of file geometry.C.
References oofem::FloatArray::add(), oofem::FloatArray::beScaled(), oofem::BasicGeometry::giveVertex(), and Triangle().
Referenced by oofem::XfemStructuralElementInterface::XfemElementInterface_updateIntegrationRule().