OOFEM
2.4
OOFEM.org - Object Oriented Finite Element Solver
|
Class representing 2D polygon. More...
#include <geotoolbox.h>
Classes | |
class | PolygonEdgeIterator |
class | PolygonVertexIterator |
Public Member Functions | |
Polygon () | |
void | addVertex (Vertex v) |
double | computeVolume () const |
int | testPoint (double x, double y) const |
double | pointDistance (double x, double y) const |
void | clear () |
GraphicObj * | draw (oofegGraphicContext &, bool filled, int layer=OOFEG_DEBUG_LAYER) |
Private Attributes | |
std::list< Vertex > | vertices |
Class representing 2D polygon.
Polygon is represented as a sequence of vertices. THe services for adding vertices, computing volume, testing if point is inside polygon are provided. Also iterators over polygon vertices and edges are provided. This class is a part of geometry toolbox.
Definition at line 91 of file geotoolbox.h.
|
inline |
Definition at line 95 of file geotoolbox.h.
|
inline |
Definition at line 96 of file geotoolbox.h.
Referenced by oofem::Graph::clip(), oofem::TR1_2D_CBS::formMaterialVolumePoly(), oofem::TR1_2D_SUPG2_AXI::formMaterialVolumePoly(), oofem::TR1_2D_SUPG2::formMaterialVolumePoly(), oofem::TR1_2D_SUPG::formMaterialVolumePoly(), oofem::TR1_2D_CBS::formMyVolumePoly(), oofem::TR1_2D_SUPG2_AXI::formMyVolumePoly(), oofem::TR1_2D_SUPG2::formMyVolumePoly(), oofem::TR1_2D_SUPG::formMyVolumePoly(), oofem::TR1_2D_CBS::formVolumeInterfacePoly(), oofem::TR1_2D_SUPG2_AXI::formVolumeInterfacePoly(), oofem::TR1_2D_SUPG2::formVolumeInterfacePoly(), oofem::TR1_2D_SUPG::formVolumeInterfacePoly(), oofem::LevelSetPCS::initializeFrom(), oofem::TR1_2D_SUPG2_AXI::updateIntegrationRules(), oofem::TR1_2D_SUPG2::updateIntegrationRules(), oofem::TR1_2D_SUPG2_AXI::updateVolumePolygons(), and oofem::TR1_2D_SUPG2::updateVolumePolygons().
|
inline |
Definition at line 100 of file geotoolbox.h.
References OOFEG_DEBUG_LAYER.
Referenced by oofem::Graph::clip(), oofem::TR1_2D_CBS::formMaterialVolumePoly(), oofem::TR1_2D_SUPG2_AXI::formMaterialVolumePoly(), oofem::TR1_2D_SUPG2::formMaterialVolumePoly(), oofem::TR1_2D_SUPG::formMaterialVolumePoly(), oofem::TR1_2D_CBS::formMyVolumePoly(), oofem::TR1_2D_SUPG2_AXI::formMyVolumePoly(), oofem::TR1_2D_SUPG2::formMyVolumePoly(), oofem::TR1_2D_SUPG::formMyVolumePoly(), oofem::TR1_2D_CBS::formVolumeInterfacePoly(), oofem::TR1_2D_SUPG2_AXI::formVolumeInterfacePoly(), oofem::TR1_2D_SUPG2::formVolumeInterfacePoly(), oofem::TR1_2D_SUPG::formVolumeInterfacePoly(), oofem::TR1_2D_SUPG2_AXI::updateIntegrationRules(), oofem::TR1_2D_SUPG2::updateIntegrationRules(), oofem::TR1_2D_SUPG2_AXI::updateVolumePolygons(), oofem::TR1_2D_SUPG2::updateVolumePolygons(), and oofem::Graph::~Graph().
double oofem::Polygon::computeVolume | ( | ) | const |
Definition at line 72 of file geotoolbox.C.
References oofem::Vertex::coords, and oofem::Polygon::PolygonVertexIterator::giveNext().
Referenced by oofem::TR1_2D_CBS::computeLEPLICVolumeFraction(), oofem::TR1_2D_SUPG2_AXI::computeLEPLICVolumeFraction(), oofem::TR1_2D_SUPG2::computeLEPLICVolumeFraction(), oofem::TR1_2D_SUPG::computeLEPLICVolumeFraction(), oofem::LEPlic::doInterfaceRemapping(), oofem::TR1_2D_CBS::truncateMatVolume(), oofem::TR1_2D_SUPG2_AXI::truncateMatVolume(), oofem::TR1_2D_SUPG2::truncateMatVolume(), and oofem::TR1_2D_SUPG::truncateMatVolume().
GraphicObj * oofem::Polygon::draw | ( | oofegGraphicContext & | gc, |
bool | filled, | ||
int | layer = OOFEG_DEBUG_LAYER |
||
) |
Definition at line 152 of file geotoolbox.C.
References oofem::Vertex::coords, oofem::Polygon::PolygonEdgeIterator::giveNext(), and oofem::Polygon::PolygonVertexIterator::giveNext().
Referenced by oofem::LEPlic::doInterfaceRemapping(), oofem::TR1_2D_SUPG2_AXI::drawScalar(), oofem::TR21_2D_SUPG::drawScalar(), oofem::Quad10_2D_SUPG::drawScalar(), oofem::TR1_2D_SUPG2::drawScalar(), oofem::TR1_2D_SUPG::drawScalar(), oofem::TR1_2D_CBS::truncateMatVolume(), oofem::TR1_2D_SUPG2_AXI::truncateMatVolume(), oofem::TR1_2D_SUPG2::truncateMatVolume(), and oofem::TR1_2D_SUPG::truncateMatVolume().
double oofem::Polygon::pointDistance | ( | double | x, |
double | y | ||
) | const |
Definition at line 98 of file geotoolbox.C.
References oofem::Vertex::coords, oofem::Polygon::PolygonEdgeIterator::giveNext(), oofem::min(), and testPoint().
Referenced by oofem::LevelSetPCS::initialize().
int oofem::Polygon::testPoint | ( | double | x, |
double | y | ||
) | const |
Definition at line 47 of file geotoolbox.C.
References oofem::Vertex::coords, and oofem::Polygon::PolygonEdgeIterator::giveNext().
Referenced by oofem::Graph::clip(), oofem::LEPlic::giveMaterialMixtureAt(), and pointDistance().
|
private |
Definition at line 93 of file geotoolbox.h.
Referenced by oofem::Polygon::PolygonEdgeIterator::giveNext(), oofem::Polygon::PolygonVertexIterator::giveNext(), oofem::Polygon::PolygonVertexIterator::init(), oofem::Polygon::PolygonEdgeIterator::PolygonEdgeIterator(), and oofem::Polygon::PolygonVertexIterator::PolygonVertexIterator().