OOFEM  2.4
OOFEM.org - Object Oriented Finite Element Solver
oofem::Circle Class Reference

#include <geometry.h>

+ Inheritance diagram for oofem::Circle:
+ Collaboration diagram for oofem::Circle:

Public Member Functions

 Circle ()
 
virtual ~Circle ()
 
 Circle (FloatArray &center, double radius)
 
virtual BasicGeometryClone ()
 
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 giveGlobalCoordinates (FloatArray &oGlobalCoord, const double &iArcPos) 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 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)
 
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 ()
 
double giveRadius () const
 
virtual void giveBoundingSphere (FloatArray &oCenter, double &oRadius)
 
- 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...
 
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
 
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 giveInputRecord (DynamicInputRecord &input)
 
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)
 
virtual bool giveTips (TipInfo &oStartTipInfo, TipInfo &oEndTipInfo) const
 Returns start and end tip of the geometry, if applicable. More...
 

Protected Attributes

double radius
 
const double mTangSignDist
 
- Protected Attributes inherited from oofem::BasicGeometry
std::vector< FloatArraymVertices
 List of geometry vertices. More...
 

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

Detailed Description

Definition at line 254 of file geometry.h.

Constructor & Destructor Documentation

oofem::Circle::Circle ( )
inline

Definition at line 260 of file geometry.h.

virtual oofem::Circle::~Circle ( )
inlinevirtual

Definition at line 261 of file geometry.h.

oofem::Circle::Circle ( FloatArray center,
double  radius 
)

Definition at line 658 of file geometry.C.

References oofem::BasicGeometry::mVertices, and radius.

Member Function Documentation

virtual BasicGeometry* oofem::Circle::Clone ( )
inlinevirtual

Implements oofem::BasicGeometry.

Definition at line 264 of file geometry.h.

void oofem::Circle::computeIntersectionPoints ( Element element,
std::vector< FloatArray > &  oIntersectionPoints 
)
virtual

Gives intersection points between this Geometry and Element.

Todo:
Move semantics or something would be useful here to avoid multiple copies.

Reimplemented from oofem::BasicGeometry.

Definition at line 735 of file geometry.C.

References oofem::DofManager::giveCoordinates(), oofem::Element::giveDofManager(), oofem::Element::giveNumberOfBoundarySides(), and intersects().

Referenced by computeNumberOfIntersectionPoints().

void oofem::Circle::computeIntersectionPoints ( Line l,
std::vector< FloatArray > &  oIntersectionPoints 
)
virtual
void oofem::Circle::computeNormalSignDist ( double &  oDist,
const FloatArray iPoint 
) const
virtual

Functions for computing signed distance in normal and tangential direction.

Used by XFEM level set functions.

Implements oofem::BasicGeometry.

Definition at line 666 of file geometry.C.

References oofem::BasicGeometry::mVertices, and radius.

int oofem::Circle::computeNumberOfIntersectionPoints ( Element element)
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 815 of file geometry.C.

References computeIntersectionPoints().

virtual void oofem::Circle::computeTangentialSignDist ( double &  oDist,
const FloatArray iPoint,
double &  oMinDistArcPos 
) const
inlinevirtual

Implements oofem::BasicGeometry.

Definition at line 270 of file geometry.h.

void oofem::Circle::giveBoundingSphere ( FloatArray oCenter,
double &  oRadius 
)
virtual

Reimplemented from oofem::BasicGeometry.

Definition at line 846 of file geometry.C.

References oofem::BasicGeometry::mVertices, and radius.

virtual const char* oofem::Circle::giveClassName ( ) const
inlinevirtual

Gives class name.

Reimplemented from oofem::BasicGeometry.

Definition at line 277 of file geometry.h.

void oofem::Circle::giveGlobalCoordinates ( FloatArray oGlobalCoord,
const double &  iArcPos 
) const
virtual

Reimplemented from oofem::BasicGeometry.

Definition at line 671 of file geometry.C.

References M_PI, oofem::BasicGeometry::mVertices, radius, and oofem::FloatArray::resize().

double oofem::Circle::giveRadius ( ) const
inline

Definition at line 287 of file geometry.h.

virtual void oofem::Circle::giveTangent ( FloatArray oTangent,
const double &  iArcPosition 
) const
inlinevirtual

Computes tangential direction at given local coordinate (arcPos)

Reimplemented from oofem::BasicGeometry.

Definition at line 274 of file geometry.h.

IRResultType oofem::Circle::initializeFrom ( InputRecord ir)
virtual

Initializes the Geometry from the InputRecord.

Reimplemented from oofem::BasicGeometry.

Definition at line 679 of file geometry.C.

References _IFT_Circle_center, _IFT_Circle_radius, IR_GIVE_FIELD, oofem::IRRT_OK, oofem::BasicGeometry::mVertices, and radius.

bool oofem::Circle::intersects ( Element element)
virtual

Checks whether an element is interacted, Element reference will be later replaced by Geometry.

Reimplemented from oofem::BasicGeometry.

Definition at line 689 of file geometry.C.

References oofem::FloatArray::distance(), oofem::DofManager::giveCoordinates(), oofem::Element::giveDofManager(), oofem::Element::giveNumberOfDofManagers(), oofem::BasicGeometry::mVertices, and radius.

Referenced by computeIntersectionPoints().

bool oofem::Circle::isInside ( Element element)
virtual
bool oofem::Circle::isInside ( FloatArray point)
virtual

Reimplemented from oofem::BasicGeometry.

Definition at line 711 of file geometry.C.

References oofem::FloatArray::distance(), oofem::BasicGeometry::giveVertex(), and radius.

bool oofem::Circle::isOutside ( BasicGeometry bg)
virtual
void oofem::Circle::printYourself ( )
virtual

Reimplemented from oofem::BasicGeometry.

Definition at line 839 of file geometry.C.

References oofem::BasicGeometry::mVertices, and radius.

Member Data Documentation

const double oofem::Circle::mTangSignDist
protected

Definition at line 258 of file geometry.h.


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

This page is part of the OOFEM documentation. Copyright (c) 2011 Borek Patzak
Project e-mail: info@oofem.org
Generated at Tue Jan 2 2018 20:07:34 for OOFEM by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2011