20 #include "SheafSystem/assert_contract.h" 21 #include "SheafSystem/triangle_connectivity.h" 40 _nodes_per_element = NODES_PER_ELEMENT;
44 ensure(element_ct() == 0);
45 ensure(node_ct() == 0);
46 ensure(node_id_ct() == 0);
47 ensure(node_ids() == 0);
48 ensure(!delete_node_ids());
49 ensure(nodes_per_element() == NODES_PER_ELEMENT);
50 ensure(start_id() == 0);
73 require(xnode_id_ct > 0);
74 require((xnode_id_ct % NODES_PER_ELEMENT) == 0);
80 ensure(
element_ct() == xnode_id_ct/NODES_PER_ELEMENT);
94 bool xlower_left_to_upper_right_diagonals)
107 ensure(
node_ct() == (xi_size+1)*(xj_size+1));
133 bool xlower_left_to_upper_right_diagonals)
137 require(xi_size > 0);
138 require(xj_size > 0);
165 if(xlower_left_to_upper_right_diagonals)
192 ensure(
node_ct() == (xi_size+1)*(xj_size+1));
pod_index_type * _node_ids
The nodal connectivity array.
triangle_connectivity()
Creates an empty instance.
size_type _nodes_per_element
The number of nodes per element.
virtual cell_type element_type() const
The element type.
size_type node_id_ct() const
The number of entries in node_ids().
Zone to node connectivity relation for a block of zones of a given type.
pod_index_type * node_ids()
The nodal connectivity array.
Nodal connectivity for a block containing zones of type triangle.
Abstract base class with useful features for all objects.
virtual bool invariant() const
Class invariant.
size_type nodes_per_element() const
The number of nodes per element.
size_type _node_id_ct
the number of entyries in _node_ids.
virtual bool invariant() const
Class invariant.
block_connectivity()
Default constructor.
unsigned long size_type
An unsigned integral type used to represent sizes and capacities.
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.
void disable_invariant_check() const
Disable invariant check. Intended for preventing recursive calls to invariant and for suppressing inv...
size_type _element_ct
The number of elements.
size_type node_ct() const
The number of distinct nodes.
bool invariant_check() const
True if invariant checking is enabled.
size_type element_ct() const
The number of elements.
virtual bool is_ancestor_of(const any *other) const
Conformance test; true if other conforms to this.
int_type pod_index_type
The plain old data index type.
virtual triangle_connectivity * clone() const
Virtual constructor, makes a new instance of the same type as this.
size_type _node_ct
The number of distinct nodes.
pod_index_type _start_id
The id given to the first node id generated. Mostly only useful for creating 1 (vs 0) based node numb...
virtual ~triangle_connectivity()
Destructor.
pod_index_type start_id() const
The id given to the first node id generated.
Namespace for the fiber_bundles component of the sheaf system.
bool is_same_type(const any *other) const
True if other is the same type as this.
void enable_invariant_check() const
Enable invariant checking.
bool _delete_node_ids
True if destructor of this should delete _node_ids.
bool delete_node_ids() const
True if destructor of this should delete _node_ids.