Geophysical Inversion and Modelling Library  v1.5.1
GIMLI::Node Class Reference
Inheritance diagram for GIMLI::Node:
Collaboration diagram for GIMLI::Node:

## Public Member Functions

Node ()

Node (double x, double y, double z=0.0)

Node (const RVector3 &pos)

Node (const RVector3 &pos, int marker, int id=-1)

Node (const Node &node)

Nodeoperator= (const Node &node)

~Node ()

double & operator[] (const Index i)

const double & operator[] (const Index i) const

uint rtti () const

void setPos (const RVector3 &pos)

const RVector3pos () const

RVector3pos ()

void insertBoundary (Boundary *bound)

void eraseBoundary (Boundary *bound)

void insertCell (Cell *cell)

void eraseCell (Cell *cell)

const std::set< Boundary * > & boundSet () const

std::set< Boundary * > & boundSet ()

const std::set< Cell * > & cellSet () const

std::set< Cell * > & cellSet ()

void transform (const RMatrix &mat)

void scale (const RVector3 &s)

void translate (const RVector3 &t)

void translate (double x, double y=0.0, double z=0.0)

void rotate (const RVector3 &r)

void swap (Index i, Index j)

const double & x () const

const double & y () const

const double & z () const

double & at (Index i)

const double & at (Index i) const

double dist (const Node &n) const

void smooth (uint function)

void setState (NodeState s)

const NodeState state () const

void setSecondaryParent (MeshEntity *e)

MeshEntitysecondaryParent ()

Public Member Functions inherited from GIMLI::BaseEntity
BaseEntity (const BaseEntity &ent)

BaseEntityoperator= (const BaseEntity &ent)

virtual bool valid () const

virtual void setValid (bool valid)

int id () const

void setId (int id)

void setMarker (int marker)

int marker () const

void setTagged (bool tagged)

void untag ()

void tag ()

bool tagged () const

## Protected Member Functions

void copy_ (const Node &node)

void changed_ ()

void init_ ()

## Protected Attributes

RVector3 pos_

std::set< Boundary * > boundSet_

std::set< Cell * > cellSet_

NodeState _state

MeshEntity_secondaryParent

Protected Attributes inherited from GIMLI::BaseEntity
int id_

bool valid_

int marker_

bool tagged_

## Detailed Description

3D Node

Node is a basic entity of a mesh at a 3D position x/y/z (a vertex), which owns a marker, an id, and information about connected boundarys and cells. For a 2D node ignore \$z\$ or let \$z\$-coord = 0.0.

## ◆ Node() [1/5]

 GIMLI::Node::Node ( )

Construct node with non valid position and marker = 0

## ◆ Node() [2/5]

 GIMLI::Node::Node ( double x, double y, double z = `0.0` )

Construct node from coordinates \$x,y,[z]\$ with marker = 0

## ◆ Node() [3/5]

 GIMLI::Node::Node ( const RVector3 & pos )

Construct node from RVector3

## ◆ Node() [4/5]

 GIMLI::Node::Node ( const RVector3 & pos, int marker, int id = `-1` )

Construct node from RVector3 with marker and optional id

References GIMLI::BaseEntity::setId().

## ◆ Node() [5/5]

 GIMLI::Node::Node ( const Node & node )

Copy constructor

## ◆ ~Node()

 GIMLI::Node::~Node ( )

Destruct the node and all containing informations

## ◆ operator=()

 Node & GIMLI::Node::operator= ( const Node & node )

Assignement operator

## ◆ operator[]() [1/2]

 double& GIMLI::Node::operator[] ( const Index i )
inline

Unchecked index operator to pos

## ◆ operator[]() [2/2]

 const double& GIMLI::Node::operator[] ( const Index i ) const
inline

Unchecked index operator to pos

## ◆ pos()

 RVector3& GIMLI::Node::pos ( )
inline

Don't use this if you plan to modify the nodes posisiton. The mesh won't get any notifications of the change and this not remove geometry caches.

## ◆ rtti()

 uint GIMLI::Node::rtti ( ) const
inlinevirtual

Return entity rtti value.

Reimplemented from GIMLI::BaseEntity.

## ◆ secondaryParent()

 MeshEntity* GIMLI::Node::secondaryParent ( )
inline

Return the state of this node.

## ◆ setState()

 void GIMLI::Node::setState ( NodeState s )
inline

Little helper to identify the state of this node after some merging.

Referenced by GIMLI::Mesh::createNodeGC_(), and GIMLI::PolygonFace::insertNode().

## ◆ state()

 const NodeState GIMLI::Node::state ( ) const
inline

Return the state of this node.

Referenced by GIMLI::Mesh::createNodeGC_().