NeoPZ
|
#include <pzhyperplane.h>
Public Member Functions | |
void | Intersect (TPZGeoMesh &input, const TPZHyperPlane &plane, TPZGeoMesh &target) |
Compute the intersection of the geometric mesh with the plane (only leaf elements) More... | |
REAL | EdgeIntersect (const TPZGeoElSide &gelside, const TPZHyperPlane &plane) |
Compute the intersection between the edge and the plane. More... | |
Private Member Functions | |
void | Reorder (TPZGeoEl *gel, TPZGeoMesh &target, TPZVec< std::pair< int64_t, int64_t > > &sidenodepair) |
reorder the nodes to form a convex figure More... | |
int | ReorderGeneral (TPZGeoMesh &target, TPZVec< std::pair< int64_t, int64_t > > &sidenodepair) |
a version which allows for more than 4 nodes More... | |
Definition at line 69 of file pzhyperplane.h.
REAL TPZHyperPlaneIntersect::EdgeIntersect | ( | const TPZGeoElSide & | gelside, |
const TPZHyperPlane & | plane | ||
) |
Compute the intersection between the edge and the plane.
Definition at line 214 of file pzhyperplane.cpp.
References abs(), DebugStop, TPZHyperPlane::Distance(), TPZGeoElSide::Jacobian(), and TPZGeoElSide::X().
Referenced by Intersect().
void TPZHyperPlaneIntersect::Intersect | ( | TPZGeoMesh & | input, |
const TPZHyperPlane & | plane, | ||
TPZGeoMesh & | target | ||
) |
Compute the intersection of the geometric mesh with the plane (only leaf elements)
Definition at line 27 of file pzhyperplane.cpp.
References TPZAdmChunkVector< T, EXP >::AllocateNewElement(), TPZGeoMesh::BuildConnectivity(), CheckElement(), TPZGeoEl::Dimension(), TPZHyperPlane::Distance(), EdgeIntersect(), TPZGeoMesh::ElementVec(), TPZGeoNode::GetCoordinates(), TPZGeoEl::HasSubElement(), TPZHyperPlane::IsLeft(), LOGPZ_DEBUG, TPZGeoEl::NCornerNodes(), TPZGeoMesh::NElements(), TPZGeoEl::NNodes(), TPZGeoEl::NodePtr(), TPZGeoMesh::NodeVec(), TPZGeoEl::NSides(), TPZStack< T, NumExtAlloc >::Push(), Reorder(), ReorderGeneral(), TPZManVector< T, NumExtAlloc >::Resize(), TPZGeoEl::SideDimension(), TPZGeoEl::SideNodeIndex(), TPZVec< T >::size(), and TPZGeoElSide::X().
|
private |
reorder the nodes to form a convex figure
Definition at line 241 of file pzhyperplane.cpp.
References DebugStop, LOGPZ_DEBUG, TPZGeoMesh::NodeVec(), TPZNumeric::Norm(), TPZGeoEl::Print(), TPZNumeric::ProdVetorial(), and TPZManVector< T, NumExtAlloc >::Resize().
Referenced by Intersect().
|
private |
a version which allows for more than 4 nodes
Definition at line 360 of file pzhyperplane.cpp.
References TPZAdmChunkVector< T, EXP >::AllocateNewElement(), atan2(), LOGPZ_DEBUG, TPZGeoMesh::NodeVec(), TPZNumeric::Norm(), TPZNumeric::NormalizeVetor3(), TPZNumeric::ProdVetorial(), and TPZManVector< T, NumExtAlloc >::Resize().
Referenced by Intersect().