OOFEM
2.4
OOFEM.org - Object Oriented Finite Element Solver
|
#include <geometry.h>
Public Member Functions | |
Line () | |
virtual | ~Line () |
Line (const FloatArray &iPointA, const FloatArray &iPointB) | |
virtual BasicGeometry * | Clone () |
virtual double | computeDistanceTo (const FloatArray *point) |
Computes normal signed distance between this object and a point. More... | |
virtual void | computeNormalSignDist (double &oDist, const FloatArray &iPoint) const |
Computes tangential distance to a point. More... | |
double | computeTangentialDistanceToEnd (FloatArray *point) |
virtual void | computeTangentialSignDist (double &oDist, const FloatArray &iPoint, double &oMinDistArcPos) const |
void | computeProjection (FloatArray &answer) |
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 void | computeIntersectionPoints (Element *element, std::vector< FloatArray > &oIntersectionPoints) |
Gives intersection points between this Geometry and Element. More... | |
double | computeInclinationAngle () |
void | computeTransformationMatrix (FloatMatrix &answer) |
void | transformIntoPolar (FloatArray *point, FloatArray &answer) |
virtual IRResultType | initializeFrom (InputRecord *ir) |
Initializes the Geometry from the InputRecord. More... | |
bool | isPointInside (FloatArray *point) |
virtual bool | intersects (Element *element) |
Checks whether an element is interacted, Element reference will be later replaced by Geometry. More... | |
virtual bool | isOutside (BasicGeometry *bg) |
double | giveLength () const |
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 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) 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) |
virtual void | giveInputRecord (DynamicInputRecord &input) |
virtual const char * | giveClassName () const |
Gives class name. More... | |
std::string | errorInfo (const char *func) const |
int | giveNrVertices () const |
Returns number of Geometry vertices. More... | |
virtual bool | isInside (Element *el) |
virtual bool | isInside (FloatArray &point) |
virtual void | printYourself () |
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... | |
virtual void | giveBoundingSphere (FloatArray &oCenter, double &oRadius) |
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 189 of file geometry.h.
|
inline |
Definition at line 192 of file geometry.h.
|
inlinevirtual |
Definition at line 193 of file geometry.h.
oofem::Line::Line | ( | const FloatArray & | iPointA, |
const FloatArray & | iPointB | ||
) |
Definition at line 225 of file geometry.C.
References oofem::BasicGeometry::mVertices.
|
inlinevirtual |
Implements oofem::BasicGeometry.
Definition at line 196 of file geometry.h.
|
virtual |
Computes normal signed distance between this object and a point.
Reimplemented from oofem::BasicGeometry.
Definition at line 231 of file geometry.C.
References oofem::FloatArray::at(), oofem::FloatArray::distance(), and oofem::BasicGeometry::mVertices.
Referenced by computeIntersectionPoints(), and isOutside().
double oofem::Line::computeInclinationAngle | ( | ) |
Definition at line 328 of file geometry.C.
References oofem::FloatArray::at(), and oofem::BasicGeometry::mVertices.
Referenced by computeTransformationMatrix().
|
virtual |
Gives intersection points between this Geometry and Element.
Reimplemented from oofem::BasicGeometry.
Definition at line 298 of file geometry.C.
References oofem::FloatArray::at(), computeDistanceTo(), computeTangentialDistanceToEnd(), oofem::DofManager::giveCoordinate(), oofem::DofManager::giveCoordinates(), oofem::Element::giveDofManager(), oofem::Element::giveNumberOfDofManagers(), and oofem::FloatArray::giveSize().
|
inlinevirtual |
Computes tangential distance to a point.
Implements oofem::BasicGeometry.
Definition at line 201 of file geometry.h.
References OOFEM_ERROR.
|
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 266 of file geometry.C.
References oofem::IntArray::at(), oofem::FEInterpolation::boundaryGiveNodes(), oofem::BasicGeometry::computeLineDistance(), oofem::XfemTolerances::giveCharacteristicElementLength(), oofem::Node::giveCoordinates(), oofem::Element::giveInterpolation(), giveLength(), oofem::Element::giveNode(), oofem::FEInterpolation::giveNumberOfEdges(), oofem::IntArray::giveSize(), max, oofem::BasicGeometry::mVertices, and oofem::FloatArray::resizeWithValues().
void oofem::Line::computeProjection | ( | FloatArray & | answer | ) |
Definition at line 243 of file geometry.C.
References oofem::FloatArray::beDifferenceOf(), and oofem::BasicGeometry::mVertices.
Referenced by computeTangentialDistanceToEnd().
double oofem::Line::computeTangentialDistanceToEnd | ( | FloatArray * | point | ) |
Definition at line 248 of file geometry.C.
References oofem::FloatArray::beDifferenceOf(), oofem::FloatArray::computeNorm(), computeProjection(), oofem::FloatArray::dotProduct(), and oofem::BasicGeometry::mVertices.
Referenced by computeIntersectionPoints().
|
virtual |
Implements oofem::BasicGeometry.
Definition at line 257 of file geometry.C.
References oofem::PolygonLine::computeTangentialSignDist(), oofem::BasicGeometry::insertVertexBack(), and oofem::BasicGeometry::mVertices.
void oofem::Line::computeTransformationMatrix | ( | FloatMatrix & | answer | ) |
Definition at line 337 of file geometry.C.
References oofem::FloatMatrix::at(), computeInclinationAngle(), and oofem::FloatMatrix::resize().
Referenced by transformIntoPolar().
|
inline |
Definition at line 218 of file geometry.h.
Referenced by computeNumberOfIntersectionPoints().
|
virtual |
Initializes the Geometry from the InputRecord.
Reimplemented from oofem::BasicGeometry.
Definition at line 360 of file geometry.C.
References _IFT_Line_end, _IFT_Line_start, 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 219 of file geometry.C.
References oofem::BasicGeometry::computeNumberOfIntersectionPoints().
|
virtual |
Reimplemented from oofem::BasicGeometry.
Definition at line 397 of file geometry.C.
References computeDistanceTo(), oofem::BasicGeometry::giveNrVertices(), and oofem::BasicGeometry::giveVertex().
bool oofem::Line::isPointInside | ( | FloatArray * | point | ) |
Definition at line 370 of file geometry.C.
References oofem::FloatArray::at(), and oofem::BasicGeometry::mVertices.
Referenced by oofem::Circle::computeIntersectionPoints().
void oofem::Line::transformIntoPolar | ( | FloatArray * | point, |
FloatArray & | answer | ||
) |
Definition at line 347 of file geometry.C.
References oofem::FloatArray::at(), oofem::FloatArray::beDifferenceOf(), oofem::FloatArray::beProductOf(), oofem::FloatArray::computeNorm(), computeTransformationMatrix(), oofem::BasicGeometry::mVertices, and oofem::FloatArray::resize().