MIDAS  0.75
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Friends Macros
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
midaspace::Cell Class Referenceabstract

#include <cell.h>

Inheritance diagram for midaspace::Cell:
midaspace::GeometryComponent midaspace::GeometrySubject midaspace::ProblemSubject midaspace::Element midaspace::Facedge midaspace::FElement midaspace::Gelement midaspace::Edge midaspace::Face midaspace::Beam midaspace::Brick midaspace::Quadrangle midaspace::Tetra midaspace::Triangle midaspace::PolygonMdl midaspace::PolyLine midaspace::Line

Public Member Functions

CellGeometry give_cellGeom (void) const
 
int give_dimension (void) const
 return type of element geometry, is identical with class derived from FElement More...
 
const PoinTgive_centercoords (void) const
 
double give_circum (void) const
 
double give_lav (void) const
 
double give_GeomWeight1deg (void) const
 
bool is_point_in_sphere (const PoinT *point) const
 
double give_characteristic_size (void) const
 
ComponentGeometrygive_cg (void)
 
 Cell (classID mecg, long gid, long oid, long prop, const Geometry *mg, long nn, long ne, long nf)
 CONSTRUCTOR. More...
 
 Cell (classID mecg, const Cell *src)
 CONSTRUCTOR COPY. More...
 
virtual ~Cell ()
 DESTRUCTOR. More...
 
virtual void checkConsistency (void) const
 Checks data consistency. More...
 
void check_connectivity_loc (void) const
 
void set_point (long i, const Point *val)
 ATRIBUTES. More...
 
void set_point (long i, long pid)
 
void set_edge (long i, const Edge *val)
 
void set_face (long i, const Face *val)
 
long give_nno (void) const
 
long give_ned (void) const
 
long give_nfa (void) const
 
const Pointgive_point (long i) const
 
const Edgegive_edge (long i) const
 
const Facegive_face (long i) const
 
const GPA< const Point > * give_points (void) const
 
const GPA< const Edge > * give_edges (void) const
 
const GPA< const Face > * give_faces (void) const
 
long give_point_indx (const Point *p) const
 
virtual long give_face_nodes_edges (const Point **&facnodes, const Edge **&facedges) const
 
virtual void connectivity_assembling (bool re=false)=0
 Function setups connectivity of element and its components == nodes, edges and faces; re == reassembling. More...
 
virtual void connectivity_removing (void)=0
 Function removes connectivity of element and its components == nodes, edges and faces; re == reassembling. More...
 
virtual void switch_myself_at_connectivity (Cell *master)
 switch receiver to master in connectivity system More...
 
bool switch_edge_pointer (Edge *slave, Edge *master)
 switch pointer to component edge - slave is replaced be master More...
 
bool switch_face_pointer (Face *slave, Face *master)
 switch pointer to component face - slave is replaced be master More...
 
void setup_duplicity_master (Cell *val)
 
bool invisible_duplicated (char flag='a')
 make invisible if duplicated More...
 
bool has_same_geom_with (Cell *slave) const
 ASSORTED check same geometry. More...
 
bool check_collapse (void)
 check any two nodes are same = element is collapsed More...
 
bool cross_abscissa_node (const PoinT *a1, const PoinT *a2, long cunn, const Point **unnod, const Point *&nod, double &ksi, PoinT *cp) const
 Function finds out whether some element node lays on abscissa. More...
 
int cross_abscissa_face (const PoinT *a1, const PoinT *a2, long cunf, const Face **unfac, const Cell *&comp, PoinT *nc, PoinT *cp)
 Function finds out whether abscissa intersects any face. More...
 
- Public Member Functions inherited from midaspace::GeometryComponent
 GeometryComponent (const Geometry *owner, long gid, long oid, long prop)
 CONSTRUCTOR. More...
 
 GeometryComponent (const GeometryComponent *src)
 CONSTRUCTOR COPY. More...
 
virtual ~GeometryComponent ()
 DESTRUCTOR. More...
 
virtual void initialize (void)
 initiate/sets data More...
 
virtual void finitialize (void)
 finalize preprocessing More...
 
virtual void set_mprop (long val)
 *** SET *** More...
 
void reset_mprop (long val)
 
bool checkset_mprop (long val)
 
void set_origID (long val)
 
void set_delete_flag (bool val)
 
virtual void set_model_prop (long val, const Model *model, bool flag=false)
 
long give_mproperty () const
 *** GET *** More...
 
const Lvctrgive_mproperty_ptr (void) const
 
long give_mpropertyORzero (void) const
 
long give_mproperty_cnt (void) const
 
bool has_mproperty (long prop) const
 
long give_origID () const
 
bool give_delete_flag () const
 
Attributesgive_attributes (void)
 
const Attributesgive_attributes (void) const
 
bool Parallel (void) const
 *** FEMesh *** More...
 
long NumDomains (void) const
 
void check_connectivity (void) const
 
void mg_connectivity_assembling (void)
 
virtual void print_row (FILE *stream, femFileFormat fff, bool endline=true, long did=0) const =0
 *** PRINT *** More...
 
- Public Member Functions inherited from midaspace::GeometrySubject
 GeometrySubject (long gid)
 CONSTRUCTOR. More...
 
 GeometrySubject (long gid, const Problem *owner)
 CONSTRUCTOR. More...
 
 GeometrySubject (long gid, const Geometry *owner)
 CONSTRUCTOR. More...
 
virtual ~GeometrySubject ()
 DESTRUCTOR. More...
 
void set_Geom (const Geometry *owner)
 
void reset_Geom (const Geometry *owner)
 
const Geometrygive_Geom (void) const
 
- Public Member Functions inherited from midaspace::ProblemSubject
 ProblemSubject (long gid)
 CONSTRUCTOR. More...
 
 ProblemSubject (long gid, const Problem *owner)
 CONSTRUCTOR. More...
 
virtual ~ProblemSubject ()
 DESTRUCTOR. More...
 
virtual classID give_classid () const
 Returns classID - class identification. More...
 
void set_ID (long val)
 
long give_ID () const
 
void set_Pd (const Problem *owner)
 
const Problemgive_Pd (void) const
 

Public Attributes

GPA< const Pointpoints
 
GPA< const Edgeedges
 
GPA< const Facefaces
 
bool connectivity_assembled
 
Cellduplmaster
 

Protected Member Functions

virtual void integrate_duplicated_cell (const Cell *slave)
 
virtual void switch_node_pointer (Point *slave, Point *master, bool duplcheck)
 switch node pointer form slave to master More...
 

Protected Attributes

ComponentGeometrycg
 
- Protected Attributes inherited from midaspace::GeometryComponent
Lvctr mproperty
 
long origid
 
bool fordelete
 
Attributesattributes
 ATTRIBUTES. More...
 
- Protected Attributes inherited from midaspace::GeometrySubject
const GeometryGeom
 Pointer to owner == parent geometry. More...
 
- Protected Attributes inherited from midaspace::ProblemSubject
long ID
 (global) identification number == position in list of members; zero-based numbering. More...
 
const ProblemPd
 Pointer to owner = parent problem. More...
 

Private Member Functions

void assure_duplicity_master (void)
 DUPLICITY. More...
 
Celllast_duplicity_master (void) const
 return the last one in the duplicity master chain More...
 

Detailed Description

Definition at line 23 of file cell.h.

Constructor & Destructor Documentation

midaspace::Cell::Cell ( classID  mecg,
long  gid,
long  oid,
long  prop,
const Geometry mg,
long  nn,
long  ne,
long  nf 
)

CONSTRUCTOR.

Definition at line 34 of file cell.cpp.

References midaspace::allocComponentGeometry(), cg, connectivity_assembled, duplmaster, edges, faces, and points.

midaspace::Cell::Cell ( classID  mecg,
const Cell src 
)
midaspace::Cell::~Cell ( )
virtual

DESTRUCTOR.

Definition at line 67 of file cell.cpp.

References cg.

Member Function Documentation

void midaspace::Cell::assure_duplicity_master ( void  )
private

DUPLICITY.

get off -1 value == high probability this is duplicate cell

Definition at line 77 of file cell.cpp.

References _errorr, midaspace::GeometryComponent::check_connectivity(), duplmaster, edges, midaspace::ProblemSubject::give_ID(), and has_same_geom_with().

Referenced by invisible_duplicated().

bool midaspace::Cell::check_collapse ( void  )
inline

check any two nodes are same = element is collapsed

Definition at line 138 of file cell.h.

References points.

Referenced by switch_node_pointer().

void midaspace::Cell::check_connectivity_loc ( void  ) const
inline

Definition at line 75 of file cell.h.

References _errorr, and connectivity_assembled.

Referenced by give_edge(), give_edges(), give_face(), and give_faces().

virtual void midaspace::Cell::checkConsistency ( void  ) const
inlinevirtual
virtual void midaspace::Cell::connectivity_assembling ( bool  re = false)
pure virtual

Function setups connectivity of element and its components == nodes, edges and faces; re == reassembling.

Implemented in midaspace::Element, midaspace::Face, and midaspace::Edge.

virtual void midaspace::Cell::connectivity_removing ( void  )
pure virtual

Function removes connectivity of element and its components == nodes, edges and faces; re == reassembling.

Implemented in midaspace::Element, midaspace::Face, and midaspace::Edge.

Referenced by invisible_duplicated(), and switch_myself_at_connectivity().

int midaspace::Cell::cross_abscissa_face ( const PoinT a1,
const PoinT a2,
long  cunf,
const Face **  unfac,
const Cell *&  comp,
PoinT nc,
PoinT cp 
)

Function finds out whether abscissa intersects any face.

answer: 0,1,2 = doesn't intersect, intersects edge of face, intersects face

Parameters
a1,a2- arrays of coordinates of start and end of abscissa
cunf- count of unwanted faces
unfac- array of id-numbers of unwanted faces
comp- sought component - face or edge
nc- natural coordinates of cross(intersect) point
cp- coordinates of cross(intersect) point

created 5.4.2003, Ladislav Svoboda, termi.nosp@m.t@cm.nosp@m.l.fsv.nosp@m..cvu.nosp@m.t.cz

Definition at line 280 of file cell.cpp.

References _errorr, midaspace::PoinT::copy(), faces, give_circum(), give_edge(), give_point(), midaspace::intersec_rectangle3d_line(), points, midaspace::Edge::transform_nc(), midaspace::Elem3D::x, midaspace::Elem3D::y, and ZERO.

bool midaspace::Cell::cross_abscissa_node ( const PoinT a1,
const PoinT a2,
long  cunn,
const Point **  unnod,
const Point *&  nod,
double &  ksi,
PoinT cp 
) const

Function finds out whether some element node lays on abscissa.

answer: 1(0) = yes, lays (no,doesn't lay)

Parameters
a1,a2- arrays of coordinates of start and end of abscissa
cunn- count of unwanted nodes
unnod- array of id-numbers of unwanted nodes
nid- id-number of sought node
ksi- natural coordinat of 'nid' on abscissa
cp- coordinates of cross(intersect) point

created 5.4.2003, Ladislav Svoboda, termi.nosp@m.t@cm.nosp@m.l.fsv.nosp@m..cvu.nosp@m.t.cz

Definition at line 251 of file cell.cpp.

References midaspace::PoinT::bePointAtAbscissa(), give_circum(), points, and ZERO.

Referenced by midaspace::PolyLine::divide().

CellGeometry midaspace::Cell::give_cellGeom ( void  ) const
inline
const PoinT* midaspace::Cell::give_centercoords ( void  ) const
inline

Definition at line 33 of file cell.h.

References cg, and midaspace::ComponentGeometry::give_centercoords().

Referenced by midaspace::Brick::give_ssstate().

ComponentGeometry* midaspace::Cell::give_cg ( void  )
inline

Definition at line 41 of file cell.h.

References cg.

double midaspace::Cell::give_characteristic_size ( void  ) const
inline
double midaspace::Cell::give_circum ( void  ) const
inline
int midaspace::Cell::give_dimension ( void  ) const
inline
const Edge* midaspace::Cell::give_edge ( long  i) const
inline
const GPA<const Edge>* midaspace::Cell::give_edges ( void  ) const
inline
const Face* midaspace::Cell::give_face ( long  i) const
inline
virtual long midaspace::Cell::give_face_nodes_edges ( const Point **&  facnodes,
const Edge **&  facedges 
) const
inlinevirtual
const GPA<const Face>* midaspace::Cell::give_faces ( void  ) const
inline
double midaspace::Cell::give_GeomWeight1deg ( void  ) const
inline
double midaspace::Cell::give_lav ( void  ) const
inline
long midaspace::Cell::give_ned ( void  ) const
inline
long midaspace::Cell::give_nfa ( void  ) const
inline

Definition at line 91 of file cell.h.

References faces.

Referenced by midaspace::Gelement::set_elemSize(), and midaspace::Face::set_model_prop().

long midaspace::Cell::give_nno ( void  ) const
inline
const Point* midaspace::Cell::give_point ( long  i) const
inline
long midaspace::Cell::give_point_indx ( const Point p) const
inline

Definition at line 101 of file cell.h.

References errol, and points.

Referenced by midaspace::ElemAttribs::give_conDOFs(), and midaspace::Element::set_fullhinge_at().

const GPA<const Point>* midaspace::Cell::give_points ( void  ) const
inline
bool midaspace::Cell::has_same_geom_with ( Cell slave) const
void midaspace::Cell::integrate_duplicated_cell ( const Cell slave)
protectedvirtual
bool midaspace::Cell::invisible_duplicated ( char  flag = 'a')
bool midaspace::Cell::is_point_in_sphere ( const PoinT point) const
inline

Definition at line 37 of file cell.h.

References cg, and midaspace::ComponentGeometry::is_point_in_sphere().

Referenced by midaspace::Element::is_point_on().

Cell * midaspace::Cell::last_duplicity_master ( void  ) const
private

return the last one in the duplicity master chain

Definition at line 102 of file cell.cpp.

References _errorr, duplmaster, and last_duplicity_master().

Referenced by integrate_duplicated_cell(), invisible_duplicated(), last_duplicity_master(), and setup_duplicity_master().

void midaspace::Cell::set_edge ( long  i,
const Edge val 
)
inline

Definition at line 86 of file cell.h.

References edges.

Referenced by midaspace::Element::connectivity_assembling().

void midaspace::Cell::set_face ( long  i,
const Face val 
)
inline

Definition at line 87 of file cell.h.

References faces.

Referenced by midaspace::Element::connectivity_assembling().

void midaspace::Cell::set_point ( long  i,
const Point val 
)
inline

ATRIBUTES.

COMPONENTS

Definition at line 84 of file cell.h.

References points.

Referenced by midaspace::Model::read_model_polylines(), and midaspace::Geometry::read_VTK().

void midaspace::Cell::set_point ( long  i,
long  pid 
)
inline

Definition at line 85 of file cell.h.

References midaspace::GeometrySubject::Geom, midaspace::Geometry::give_Pjnt(), and points.

void midaspace::Cell::setup_duplicity_master ( Cell val)
bool midaspace::Cell::switch_edge_pointer ( Edge slave,
Edge master 
)

switch pointer to component edge - slave is replaced be master

Definition at line 147 of file cell.cpp.

References edges.

Referenced by midaspace::Edge::switch_myself_at_connectivity().

bool midaspace::Cell::switch_face_pointer ( Face slave,
Face master 
)

switch pointer to component face - slave is replaced be master

Definition at line 152 of file cell.cpp.

References faces.

Referenced by midaspace::Face::switch_myself_at_connectivity().

void midaspace::Cell::switch_myself_at_connectivity ( Cell master)
virtual

switch receiver to master in connectivity system

Reimplemented in midaspace::Face, and midaspace::Edge.

Definition at line 217 of file cell.cpp.

References connectivity_removing(), and errol.

Referenced by invisible_duplicated(), midaspace::Edge::switch_myself_at_connectivity(), and midaspace::Face::switch_myself_at_connectivity().

void midaspace::Cell::switch_node_pointer ( Point slave,
Point master,
bool  duplcheck 
)
protectedvirtual

switch node pointer form slave to master

switch node pointer form oldnod to newnode, return yes, if any node switched

Reimplemented in midaspace::Element, midaspace::Face, and midaspace::Edge.

Definition at line 140 of file cell.cpp.

References check_collapse(), duplmaster, and points.

Referenced by midaspace::Edge::switch_node_pointer(), midaspace::Face::switch_node_pointer(), and midaspace::Element::switch_node_pointer().

Member Data Documentation

ComponentGeometry* midaspace::Cell::cg
protected
bool midaspace::Cell::connectivity_assembled
Cell* midaspace::Cell::duplmaster
GPA<const Edge> midaspace::Cell::edges
GPA<const Face> midaspace::Cell::faces
GPA<const Point> midaspace::Cell::points

Definition at line 46 of file cell.h.

Referenced by midaspace::PolyLine::add_point(), midaspace::PolygonMdl::allocNnNe(), Cell(), check_collapse(), midaspace::Triangle::compute_rotMg2l(), midaspace::Edge::connectivity_assembling(), midaspace::Face::connectivity_assembling(), midaspace::Element::connectivity_assembling(), midaspace::Edge::connectivity_removing(), midaspace::Face::connectivity_removing(), midaspace::Element::connectivity_removing(), cross_abscissa_face(), cross_abscissa_node(), midaspace::PolyLine::del_points_down(), midaspace::PolyLine::divide(), midaspace::Edge::Edge(), midaspace::Face::Face(), midaspace::PolyLine::generate_mesh_RFbyHN(), midaspace::Line::give_edge_nodes(), midaspace::PolygonMdl::give_edge_nodes(), midaspace::Beam::give_edge_nodes(), midaspace::Triangle::give_edge_nodes(), midaspace::Quadrangle::give_edge_nodes(), midaspace::Tetra::give_edge_nodes(), midaspace::Brick::give_edge_nodes(), midaspace::PolygonMdl::give_face_nodes_edges(), midaspace::Triangle::give_face_nodes_edges(), midaspace::Quadrangle::give_face_nodes_edges(), midaspace::Tetra::give_face_nodes_edges(), midaspace::Brick::give_face_nodes_edges(), midaspace::Triangle::give_ip_coords_global(), midaspace::Quadrangle::give_ip_coords_global(), give_nno(), midaspace::FElement::give_node(), give_point(), give_point_indx(), give_points(), midaspace::Beam::give_vector(), has_same_geom_with(), integrate_duplicated_cell(), midaspace::Quadrangle::is_first_diag_short(), midaspace::Edge::is_nod_on(), midaspace::Element::is_point_on(), midaspace::Edge::print_row(), midaspace::Face::print_row(), midaspace::FElement::print_row(), midaspace::Beam::print_row(), midaspace::Element::print_row_VTK(), midaspace::Element::print_row_VTX(), midaspace::Tetra::print_row_VTX(), midaspace::Brick::print_row_VTX(), midaspace::FElement::read_input(), midaspace::FElement::read_nodes(), midaspace::FElement::set_node(), set_point(), midaspace::Element::set_prop_node_inher(), switch_node_pointer(), midaspace::Edge::transform_nc(), and midaspace::Triangle::Triangle().


The documentation for this class was generated from the following files: