SheafSystem  0.0.0.0
fiber_bundle::block_relation Class Referenceabstract

Abstract cell relation for a block of zones of a given type. More...

#include <block_relation.h>

Inheritance diagram for fiber_bundle::block_relation:
sheaf::any fiber_bundle::block_adjacency fiber_bundle::block_connectivity fiber_bundle::hex_connectivity fiber_bundle::line_connectivity fiber_bundle::point_connectivity fiber_bundle::quad_connectivity fiber_bundle::tetra_connectivity fiber_bundle::triangle_connectivity

Public Types

enum  cell_type {
  POINT, LINE, QUAD, TRIANGLE,
  HEX, TETRA, CELL_TYPE_END
}
 Cell types. More...
 

Public Member Functions

 block_relation ()
 Default constructor. More...
 
virtual ~block_relation ()
 Destructor. More...
 
virtual cell_type element_type () const =0
 The element (zone) type. More...
 
virtual block_relationclone () const =0
 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...
 
- 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...
 

Additional Inherited Members

- Protected Member Functions inherited from sheaf::any
 any ()
 default constructor More...
 

Detailed Description

Abstract cell relation for a block of zones of a given type.

Definition at line 47 of file block_relation.h.

Member Enumeration Documentation

◆ cell_type

Cell types.

LINE refers to a 1d cell ("segment_complex"). TRIANGLE is a triangle produced by dividing a quad along the diagonal from (logical) lower left to upper right corner.

Definition at line 62 of file block_relation.h.

Constructor & Destructor Documentation

◆ block_relation()

fiber_bundle::block_relation::block_relation ( )

Default constructor.

Definition at line 31 of file block_relation.cc.

References ~block_relation().

◆ ~block_relation()

fiber_bundle::block_relation::~block_relation ( )
virtual

Destructor.

Definition at line 38 of file block_relation.cc.

References invariant().

Referenced by block_relation().

Member Function Documentation

◆ clone()

virtual block_relation* fiber_bundle::block_relation::clone ( ) const
pure virtual

◆ element_type()

◆ invariant()

◆ is_ancestor_of()

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

Conformance test; true if other conforms to this.

Precondition
  • other != 0

Reimplemented from sheaf::any.

Reimplemented in fiber_bundle::block_connectivity, fiber_bundle::block_adjacency, fiber_bundle::hex_connectivity, fiber_bundle::tetra_connectivity, fiber_bundle::triangle_connectivity, fiber_bundle::line_connectivity, and fiber_bundle::point_connectivity.

Definition at line 82 of file block_relation.cc.

Referenced by invariant().


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