OOFEM 3.0
Loading...
Searching...
No Matches
oofem::Triangle Class Reference

#include <geometry.h>

Inheritance diagram for oofem::Triangle:
Collaboration diagram for oofem::Triangle:

Public Member Functions

 Triangle (const FloatArray &iP1, const FloatArray &iP2, const FloatArray &iP3)
virtual ~Triangle ()
BasicGeometryClone () 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 FloatArraygiveVertex (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< FloatArraymVertices
 List of geometry vertices.

Detailed Description

Definition at line 217 of file geometry.h.

Constructor & Destructor Documentation

◆ Triangle()

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

◆ ~Triangle()

virtual oofem::Triangle::~Triangle ( )
inlinevirtual

Definition at line 221 of file geometry.h.

Member Function Documentation

◆ changeToAnticlockwise()

void oofem::Triangle::changeToAnticlockwise ( )

Definition at line 480 of file geometry.C.

References oofem::BasicGeometry::mVertices.

Referenced by oofem::Delaunay::triangulate().

◆ Clone()

BasicGeometry * oofem::Triangle::Clone ( )
inlineoverridevirtual

Implements oofem::BasicGeometry.

Definition at line 223 of file geometry.h.

References oofem::BasicGeometry::BasicGeometry(), and Triangle().

◆ computeBarycentrCoor()

void oofem::Triangle::computeBarycentrCoor ( FloatArray & answer) const

◆ computeCenterOfCircumCircle()

void oofem::Triangle::computeCenterOfCircumCircle ( FloatArray & answer) const

◆ computeNormalSignDist()

void oofem::Triangle::computeNormalSignDist ( double & oDist,
const FloatArray & iPoint ) const
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.

◆ computeNumberOfIntersectionPoints()

int oofem::Triangle::computeNumberOfIntersectionPoints ( Element * element)
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.

◆ computeTangentialSignDist()

void oofem::Triangle::computeTangentialSignDist ( double & oDist,
const FloatArray & iPoint,
double & oMinDistArcPos ) const
inlineoverridevirtual

Implements oofem::BasicGeometry.

Definition at line 227 of file geometry.h.

References OOFEM_ERROR.

◆ getArea()

double oofem::Triangle::getArea ( )

◆ getRadiusOfCircumCircle()

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

◆ isOrientedAnticlockwise()

bool oofem::Triangle::isOrientedAnticlockwise ( )

◆ pointIsInTriangle()

bool oofem::Triangle::pointIsInTriangle ( const FloatArray & iP) const

◆ printYourself()

void oofem::Triangle::printYourself ( )
overridevirtual

Reimplemented from oofem::BasicGeometry.

Definition at line 453 of file geometry.C.

References oofem::BasicGeometry::mVertices.

◆ refineTriangle()

void oofem::Triangle::refineTriangle ( std::vector< Triangle > & oRefinedTri,
const Triangle & iTri )
static

The documentation for this class was generated from the following files:

This page is part of the OOFEM-3.0 documentation. Copyright Copyright (C) 1994-2025 Borek Patzak Bořek Patzák
Project e-mail: oofem@fsv.cvut.cz
Generated at for OOFEM by doxygen 1.15.0 written by Dimitri van Heesch, © 1997-2011