SheafSystem  0.0.0.0
fiber_bundle::triangle_connectivity Class Reference

Nodal connectivity for a block containing zones of type triangle. More...

#include <triangle_connectivity.h>

Inheritance diagram for fiber_bundle::triangle_connectivity:
fiber_bundle::block_connectivity fiber_bundle::block_relation sheaf::any

TRIANGLE_CONNECTIVITY FACET

enum  static_const_int { NODES_PER_ELEMENT = 3 }
 Static const integral data members. More...
 
 triangle_connectivity ()
 Creates an empty instance. More...
 
 triangle_connectivity (const triangle_connectivity &xother)
 Copy constructor. More...
 
 triangle_connectivity (const pod_index_type *xnode_ids, size_type xnode_id_ct, size_type xnode_ct)
 Creates an instance corresponding to the general arrangement of vertices given by node_ids() == xnode_ids, and node_id_ct() == xnode_id_ct. If xnode_ct == 0, node_ct() will be computed from node_ids(), otherwise, node_ct() == xnode_ct. More...
 
 triangle_connectivity (size_type xi_size, size_type xj_size, pod_index_type xstart_id=0, bool xlower_left_to_upper_right_diagonals=true)
 Creates an instance corresponding to a rectangular array of vertices xi_size + 1 by x_jsize + 1, that is, xi_size and xj_size are the number of edges in the i and j direction, respectively. Xstart_id is the id of the first vertex, that is, i=0, j=0. If xlower_left_to_upper_right_diagonals == true (default), the triangles are created by dividing a quad with the diagonal from the lower left to upper right corner; otherwise the other diagonal is used. More...
 
virtual ~triangle_connectivity ()
 Destructor. More...
 
void create_connectivity (size_type xi_size, size_type xj_size, pod_index_type xstart_id, bool xlower_left_to_upper_right_diagonals)
 Allocates and initializes the connectivity array. More...
 

BLOCK_RELATION FACET

virtual cell_type element_type () const
 The element type. More...
 

ANY FACET

virtual triangle_connectivityclone () const
 Virtual constructor, makes a new instance of the same type as this. More...
 
virtual bool invariant () const
 Class invariant. More...
 
virtual bool is_ancestor_of (const any *other) const
 Conformance test; true if other conforms to this. More...
 

Additional Inherited Members

- Public Types inherited from fiber_bundle::block_relation
enum  cell_type {
  POINT, LINE, QUAD, TRIANGLE,
  HEX, TETRA, CELL_TYPE_END
}
 Cell types. More...
 
- Public Member Functions inherited from fiber_bundle::block_connectivity
virtual ~block_connectivity ()
 Destructor. More...
 
size_type element_ct () const
 The number of elements. More...
 
size_type node_ct () const
 The number of distinct nodes. More...
 
pod_index_typenode_ids ()
 The nodal connectivity array. More...
 
const pod_index_typenode_ids () const
 The nodal connectivity array. More...
 
bool delete_node_ids () const
 True if destructor of this should delete _node_ids. More...
 
size_type node_id_ct () const
 The number of entries in node_ids(). More...
 
size_type nodes_per_element () const
 The number of nodes per element. More...
 
pod_index_type start_id () const
 The id given to the first node id generated. More...
 
virtual void to_stream (std::ostream &xos) const
 Print to stream xos. More...
 
block_connectivityoperator= (const block_connectivity &xother)
 Assignment operator. More...
 
virtual bool operator== (const block_connectivity &xother) const
 Equality operator. More...
 
- Public Member Functions inherited from fiber_bundle::block_relation
 block_relation ()
 Default constructor. More...
 
virtual ~block_relation ()
 Destructor. More...
 
- Public Member Functions inherited from sheaf::any
bool is_same_type (const any *other) const
 True if other is the same type as this. More...
 
virtual ~any ()
 Destructor. More...
 
bool invariant_check () const
 True if invariant checking is enabled. More...
 
void enable_invariant_check () const
 Enable invariant checking. More...
 
void disable_invariant_check () const
 Disable invariant check. Intended for preventing recursive calls to invariant and for suppressing invariant checking during multi-phase initialization. More...
 
int disable_invariance_check_request_depth () const
 Number of times disable_invariant_check has been called without matching call to enable_invariant_check. More...
 
- Protected Member Functions inherited from fiber_bundle::block_connectivity
 block_connectivity ()
 Default constructor. More...
 
 block_connectivity (const block_connectivity &xother)
 Copy constructor. More...
 
 block_connectivity (const pod_index_type *xnode_ids, size_type xnode_id_ct, size_type xnodes_per_element, size_type xnode_ct)
 Creates an instance with node_ids() == xnode_ids, node_id_ct() == xnode_id_ct, and start_id() == xstart_id. If xnode_ct == 0, the number of distinct nodes will be computed, otherwise node_ct() == xnode_ct. More...
 
 block_connectivity (pod_index_type xstart_id)
 Parameter xstart_id is the id given to the first node id generated. Mostly only useful for creating 1 (vs 0) based node numbering. More...
 
- Protected Member Functions inherited from sheaf::any
 any ()
 default constructor More...
 
- Protected Attributes inherited from fiber_bundle::block_connectivity
size_type _element_ct
 The number of elements. More...
 
size_type _node_ct
 The number of distinct nodes. More...
 
size_type _node_id_ct
 the number of entyries in _node_ids. More...
 
pod_index_type_node_ids
 The nodal connectivity array. More...
 
bool _delete_node_ids
 True if destructor of this should delete _node_ids. More...
 
size_type _nodes_per_element
 The number of nodes per element. More...
 
pod_index_type _start_id
 The id given to the first node id generated. Mostly only useful for creating 1 (vs 0) based node numbering. More...
 

Detailed Description

Nodal connectivity for a block containing zones of type triangle.

Definition at line 39 of file triangle_connectivity.h.

Member Enumeration Documentation

◆ static_const_int

Static const integral data members.

Hack:
Inline initialization of static const integral data members causes link error in MSC++; use enum instead.

Definition at line 95 of file triangle_connectivity.h.

Constructor & Destructor Documentation

◆ triangle_connectivity() [1/4]

fiber_bundle::triangle_connectivity::triangle_connectivity ( )

Creates an empty instance.

Postcondition
  • !delete_node_ids()

Definition at line 33 of file triangle_connectivity.cc.

Referenced by clone(), and triangle_connectivity().

◆ triangle_connectivity() [2/4]

fiber_bundle::triangle_connectivity::triangle_connectivity ( const triangle_connectivity xother)

Copy constructor.

Postcondition
  • postcondition_of(block_connectivity(xother))

Definition at line 54 of file triangle_connectivity.cc.

References fiber_bundle::block_connectivity::block_connectivity(), and triangle_connectivity().

◆ triangle_connectivity() [3/4]

fiber_bundle::triangle_connectivity::triangle_connectivity ( const pod_index_type xnode_ids,
size_type  xnode_id_ct,
size_type  xnode_ct 
)

Creates an instance corresponding to the general arrangement of vertices given by node_ids() == xnode_ids, and node_id_ct() == xnode_id_ct. If xnode_ct == 0, node_ct() will be computed from node_ids(), otherwise, node_ct() == xnode_ct.

Precondition
  • xnode_id_ct > 0
  • (xnode_id_ct % NODES_PER_ELEMENT) == 0
Postcondition
  • !delete_node_ids()

Definition at line 68 of file triangle_connectivity.cc.

References fiber_bundle::block_connectivity::delete_node_ids(), fiber_bundle::block_connectivity::element_ct(), fiber_bundle::block_connectivity::node_ct(), fiber_bundle::block_connectivity::node_id_ct(), fiber_bundle::block_connectivity::node_ids(), fiber_bundle::block_connectivity::nodes_per_element(), and triangle_connectivity().

◆ triangle_connectivity() [4/4]

fiber_bundle::triangle_connectivity::triangle_connectivity ( size_type  xi_size,
size_type  xj_size,
pod_index_type  xstart_id = 0,
bool  xlower_left_to_upper_right_diagonals = true 
)

Creates an instance corresponding to a rectangular array of vertices xi_size + 1 by x_jsize + 1, that is, xi_size and xj_size are the number of edges in the i and j direction, respectively. Xstart_id is the id of the first vertex, that is, i=0, j=0. If xlower_left_to_upper_right_diagonals == true (default), the triangles are created by dividing a quad with the diagonal from the lower left to upper right corner; otherwise the other diagonal is used.

Postcondition

Definition at line 91 of file triangle_connectivity.cc.

References create_connectivity(), fiber_bundle::block_connectivity::delete_node_ids(), fiber_bundle::block_connectivity::element_ct(), fiber_bundle::block_connectivity::node_ct(), fiber_bundle::block_connectivity::node_id_ct(), fiber_bundle::block_connectivity::node_ids(), fiber_bundle::block_connectivity::nodes_per_element(), fiber_bundle::block_connectivity::start_id(), and ~triangle_connectivity().

◆ ~triangle_connectivity()

fiber_bundle::triangle_connectivity::~triangle_connectivity ( )
virtual

Destructor.

Definition at line 117 of file triangle_connectivity.cc.

References create_connectivity().

Referenced by triangle_connectivity().

Member Function Documentation

◆ clone()

fiber_bundle::triangle_connectivity * fiber_bundle::triangle_connectivity::clone ( ) const
virtual

Virtual constructor, makes a new instance of the same type as this.

Postcondition
  • result->is_same_type(this)

Implements fiber_bundle::block_connectivity.

Definition at line 226 of file triangle_connectivity.cc.

References invariant(), sheaf::any::is_same_type(), and triangle_connectivity().

Referenced by element_type().

◆ create_connectivity()

◆ element_type()

fiber_bundle::block_connectivity::cell_type fiber_bundle::triangle_connectivity::element_type ( ) const
virtual

The element type.

Implements fiber_bundle::block_relation.

Definition at line 211 of file triangle_connectivity.cc.

References clone().

Referenced by create_connectivity().

◆ invariant()

bool fiber_bundle::triangle_connectivity::invariant ( ) const
virtual

◆ is_ancestor_of()

bool fiber_bundle::triangle_connectivity::is_ancestor_of ( const any other) const
virtual

Conformance test; true if other conforms to this.

Precondition
  • other != 0

Reimplemented from fiber_bundle::block_connectivity.

Definition at line 278 of file triangle_connectivity.cc.

Referenced by invariant().


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