NeoPZ
|
Implements a geometric node in the pz environment. Geometry. More...
#include <pzgnode.h>
Public Member Functions | |
TPZGeoNode (int id, TPZVec< REAL > &xp, TPZGeoMesh &mesh) | |
Constructor to new node with id predefined. More... | |
TPZGeoNode () | |
Constructor to new node. More... | |
TPZGeoNode (const TPZGeoNode &node) | |
Constructor copy. More... | |
TPZGeoNode & | operator= (const TPZGeoNode &node) |
virtual | ~TPZGeoNode () |
Destructor. More... | |
int | ClassId () const override |
Returns the id of the class (used for writing reading the object) More... | |
void | Read (TPZStream &buf, void *context) override |
Reads the object from disk. More... | |
void | Write (TPZStream &buf, int withclassid) const override |
Writes the object to disk. More... | |
int | Id () const |
Returns the identity of the current node. More... | |
void | SetNodeId (int id) |
void | Initialize (TPZVec< REAL > &coord, TPZGeoMesh &mesh) |
Initialize the data structure of the node. Creates a unique id for the node automatically. More... | |
void | Initialize (int id, TPZVec< REAL > &coord, TPZGeoMesh &mesh) |
Initializes the data structure of the node. Assumes that the id provided by the user is unique for the mesh. More... | |
void | Initialize (const TPZGeoNode &node, TPZGeoMesh &mesh) |
Initializes the node with data from a node from a different mesh. More... | |
REAL | Coord (int i) const |
Returns i-th coordinate of the current node. More... | |
void | SetCoord (const TPZVec< REAL > &x) |
Sets all coordinates into the current node. It gets the dim values from x. More... | |
void | SetCoord (int i, REAL coord) |
Set the i-th coordinate for current node. More... | |
void | GetCoordinates (TPZVec< REAL > &co) |
Fill the coordinates of the node. More... | |
void | Print (std::ostream &out=std::cout) |
Print the node data into out. More... | |
Public Member Functions inherited from TPZSavable | |
TPZSavable () | |
virtual | ~TPZSavable () |
virtual std::list< std::map< std::string, uint64_t > > | VersionHistory () const |
virtual std::pair< std::string, uint64_t > | Version () const |
virtual bool | Compare (TPZSavable *copy, bool override=false) |
Compares the object for identity with the object pointed to, eventually copy the object. More... | |
virtual bool | Compare (TPZSavable *copy, bool override=false) const |
Compares the object for identity with the object pointed to, eventually copy the object. More... | |
Public Member Functions inherited from TPZRegisterClassId | |
template<typename T > | |
TPZRegisterClassId (int(T::*)() const) | |
TPZRegisterClassId ()=default | |
Private Attributes | |
int | fId |
Identity of node. More... | |
REAL | fCoord [3] |
Node coordinates. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from TPZSavable | |
static std::set< TPZRestoreClassBase * > & | RestoreClassSet () |
This static function guarantees that the gMap object is available when needed. More... | |
static std::map< int, TPZRestore_t > & | ClassIdMap () |
This static function guarantees that the gMap object is available when needed. More... | |
static std::pair< std::string, uint64_t > | NeoPZVersion () |
static void | Register (TPZRestoreClassBase *restore) |
static void | RegisterClassId (int classid, TPZRestore_t fun) |
static TPZSavable * | CreateInstance (const int &classId) |
Implements a geometric node in the pz environment. Geometry.
A geometric node is a place holder for 3d coordinates and a global Id
Note that the global id will influence the orientation of the shape functions
It is very important that the global Ids will not be duplicated within a single mesh
TPZGeoNode::TPZGeoNode | ( | int | id, |
TPZVec< REAL > & | xp, | ||
TPZGeoMesh & | mesh | ||
) |
Constructor to new node with id predefined.
Definition at line 14 of file pzgnode.cpp.
References fCoord, fId, TPZVec< T >::NElements(), and TPZGeoMesh::SetNodeIdUsed().
TPZGeoNode::TPZGeoNode | ( | ) |
TPZGeoNode::TPZGeoNode | ( | const TPZGeoNode & | node | ) |
|
inlinevirtual |
|
overridevirtual |
Returns the id of the class (used for writing reading the object)
Implements TPZSavable.
Definition at line 96 of file pzgnode.cpp.
References Hash().
Referenced by ~TPZGeoNode().
|
inline |
Returns i-th coordinate of the current node.
Definition at line 99 of file pzgnode.h.
References fCoord, and PZError.
Referenced by TPZGeoElRefLess< TGeo >::CornerCoordinates(), TPZCompMesh::DeltaX(), TPZExtendGridDimension::ExtendedMesh(), TPZGeoMesh::FindApproxElement(), TPZGeoMesh::FindNode(), pzgeom::TPZEllipse3D::GetNodesCoords(), TPZAnalysisError::h_Parameter(), pzgeom::TPZArc3D::Initialize(), TPZCompEl::LesserEdgeOfEl(), TPZAnalysisError::MathematicaPlot(), TPZCompEl::MaximumRadiusOfEl(), TPZCompElDisc::NormalizeConst(), operator=(), TPZInterpolatedElement::Print(), TPZVTKGeoMesh::PrintGMeshVTK(), TPZGeoEl::PrintTopologicalInfo(), TPZGenGrid::ReadAndMergeGeoMesh(), SetNodeId(), TPZCompElDisc::SizeOfElement(), TPZGeoNode(), TPZGeoEl::VerifyNodeCoordinates(), and XMin().
void TPZGeoNode::GetCoordinates | ( | TPZVec< REAL > & | co | ) |
Fill the coordinates of the node.
Definition at line 83 of file pzgnode.cpp.
References fCoord.
Referenced by TPZMHMixedHybridMeshControl::ApplyNeighbourBoundaryCondition(), TPZGeoEl::CharacteristicSize(), TPZMHMixedHybridMeshControl::CheckMeshConsistency(), TPZGeoEl::ComputeXInverse(), TPZExtendGridDimension::DeformMesh(), TPZGeoMesh::FindCloseElement(), TPZMHMixedHybridMeshControl::FindConnectedElements(), TPZRefPatternTools::GenerateGMeshFromElementVec(), TPZGenSpecialGrid::GeneratePolygonalSphereFromOctahedron(), pzgeom::TPZQuadraticPrism::InsertExampleElement(), pzgeom::TPZQuadraticPyramid::InsertExampleElement(), pzgeom::TPZQuadraticCube::InsertExampleElement(), pzgeom::TPZQuadraticTetra::InsertExampleElement(), pzgeom::TPZQuadraticTrig::InsertExampleElement(), pzgeom::TPZQuadraticQuad::InsertExampleElement(), TCedricTest::InterpolationError(), TPZHyperPlaneIntersect::Intersect(), TCedricTest::LoadInterpolation(), TPZCompMeshTools::LoadSolution(), TPZGenGrid::MergeGeoMesh(), pzgeom::TPZChangeEl::NearestNode(), TPZGradientReconstruction::TPZGradientData::NodeCloserCenterX(), TPZGeoEl::NodesCoordinates(), TPZMHMixedHybridMeshControl::PrintFriendly(), PYBIND11_MODULE(), TPZGenGrid::ReadAndMergeGeoMesh(), hdivCurvedJCompAppMath::RotateGeomesh(), and SetNodeId().
|
inline |
Returns the identity of the current node.
Definition at line 68 of file pzgnode.h.
References fId.
Referenced by TPZHierarquicalGrid::CreateGeometricElement(), GetGeoNodeIds(), TPZGeoElRefLess< TGeo >::HDivPermutation(), TPZCompElHDiv< TSHAPE >::IndexShapeToVec2(), TPZCompElHDiv< TSHAPE >::InitMaterialData(), TPZAnalysisError::MathematicaPlot(), TPZCompElHDiv< TSHAPE >::NConnectShapeF(), operator=(), TPZGeoElRefLess< TGeo >::PrintTopologicalInfo(), TPZGenGrid::ReadAndMergeGeoMesh(), TPZGenGrid::SetBC(), TPZIntelGen< TSHAPE >::Shape(), TPZCompElHDivBound2< TSHAPE >::Shape(), TPZCompElHDiv< TSHAPE >::Shape(), TPZIntelGen< TSHAPE >::SideShapeFunction(), TPZCompElHDivBound2< TSHAPE >::SideShapeFunction(), TPZCompElHDiv< TSHAPE >::SideShapeFunction(), and TPZGeoNode().
void TPZGeoNode::Initialize | ( | TPZVec< REAL > & | coord, |
TPZGeoMesh & | mesh | ||
) |
Initialize the data structure of the node. Creates a unique id for the node automatically.
Definition at line 38 of file pzgnode.cpp.
References TPZGeoMesh::CreateUniqueNodeId(), fCoord, fId, and TPZVec< T >::NElements().
Referenced by SetNodeId().
void TPZGeoNode::Initialize | ( | int | id, |
TPZVec< REAL > & | coord, | ||
TPZGeoMesh & | mesh | ||
) |
Initializes the data structure of the node. Assumes that the id provided by the user is unique for the mesh.
Definition at line 45 of file pzgnode.cpp.
References fCoord, fId, TPZVec< T >::NElements(), and TPZGeoMesh::SetNodeIdUsed().
void TPZGeoNode::Initialize | ( | const TPZGeoNode & | node, |
TPZGeoMesh & | mesh | ||
) |
Initializes the node with data from a node from a different mesh.
Definition at line 53 of file pzgnode.cpp.
References fCoord, fId, and TPZGeoMesh::SetNodeIdUsed().
TPZGeoNode & TPZGeoNode::operator= | ( | const TPZGeoNode & | node | ) |
void TPZGeoNode::Print | ( | std::ostream & | out = std::cout | ) |
Print the node data into out.
Definition at line 88 of file pzgnode.cpp.
Referenced by TPZGeoEl::ComputeXInverse(), and SetNodeId().
|
inlineoverridevirtual |
Reads the object from disk.
Reimplemented from TPZSavable.
Definition at line 56 of file pzgnode.h.
References TPZStream::Read().
void TPZGeoNode::SetCoord | ( | const TPZVec< REAL > & | x | ) |
Sets all coordinates into the current node. It gets the dim values from x.
Definition at line 60 of file pzgnode.cpp.
References DebugStop, fCoord, TPZVec< T >::NElements(), and PZError.
Referenced by pzgeom::TPZChangeEl::CreateMiddleNodeAtEdge(), TPZExtendGridDimension::DeformMesh(), TPZGenSpecialGrid::GeneratePolygonalSphereFromOctahedron(), pzgeom::TPZQuadraticPrism::InsertExampleElement(), pzgeom::TPZQuadraticPyramid::InsertExampleElement(), pzgeom::TPZQuadraticCube::InsertExampleElement(), pzgeom::TPZQuadraticTetra::InsertExampleElement(), pzgeom::TPZQuadraticLine::InsertExampleElement(), pzgeom::TPZQuadraticTrig::InsertExampleElement(), pzgeom::TPZQuadraticQuad::InsertExampleElement(), TPZGeoMeshBuilder::InsertNodes(), TPZGenGrid::ReadAndMergeGeoMesh(), hdivCurvedJCompAppMath::RotateGeomesh(), SetNodeId(), and pzgeom::TPZEllipse3D::SetNodesCoords().
void TPZGeoNode::SetCoord | ( | int | i, |
REAL | coord | ||
) |
Set the i-th coordinate for current node.
Definition at line 74 of file pzgnode.cpp.
|
inline |
Definition at line 73 of file pzgnode.h.
References co, Coord(), GetCoordinates(), Initialize(), Print(), and SetCoord().
Referenced by pzgeom::TPZChangeEl::CreateMiddleNodeAtEdge(), TPZGeoMeshBuilder::InsertNodes(), and TPZGenGrid::ReadAndMergeGeoMesh().
|
inlineoverridevirtual |
Writes the object to disk.
Reimplemented from TPZSavable.
Definition at line 62 of file pzgnode.h.
References TPZStream::Write().
|
private |
Node coordinates.
Definition at line 36 of file pzgnode.h.
Referenced by Coord(), GetCoordinates(), Initialize(), operator=(), Print(), SetCoord(), and TPZGeoNode().
|
private |
Identity of node.
Definition at line 34 of file pzgnode.h.
Referenced by Id(), Initialize(), operator=(), Print(), and TPZGeoNode().