Public Member Functions | List of all members
oomph::ShapeWithDeepCopy Class Reference

A shape function with a deep copy constructor. This allows for use with stl operations (e.g. manipulating vectors of shape functions). A seperate class is needed because the basic shape function uses a shallow copy. More...

#include <shape.h>

+ Inheritance diagram for oomph::ShapeWithDeepCopy:

Public Member Functions

 ShapeWithDeepCopy (const unsigned &N)
 Constructor for a single-index set of shape functions. More...
 
 ShapeWithDeepCopy (const unsigned &N, const unsigned &M)
 Constructor for a two-index set of shape functions. More...
 
 ShapeWithDeepCopy ()
 Default constructor. More...
 
 ShapeWithDeepCopy (const ShapeWithDeepCopy &old_shape)
 Deep copy constructor. More...
 
void operator= (const ShapeWithDeepCopy &old_shape)=delete
 Broken assignment operator. More...
 
 ~ShapeWithDeepCopy ()
 Destructor, clear up the memory allocated by the object. More...
 
- Public Member Functions inherited from oomph::Shape
 Shape (const unsigned &N)
 Constructor for a single-index set of shape functions. More...
 
 Shape (const unsigned &N, const unsigned &M)
 Constructor for a two-index set of shape functions. More...
 
 Shape (const Shape &shape)=delete
 Broken copy constructor. More...
 
 Shape ()
 Default constructor - just assigns a null pointers and zero index sizes. More...
 
void operator= (const Shape &shape)
 The assignment operator does a shallow copy (resets the pointer to the data) More...
 
void operator= (Shape *const &shape_pt)
 The assignment operator does a shallow copy (resets the pointer to the data) More...
 
 ~Shape ()
 Destructor, clear up the memory allocated by the object. More...
 
void resize (const unsigned &N, const unsigned &M=1)
 Change the size of the storage. More...
 
double & operator[] (const unsigned &i)
 Overload the bracket operator to provide access to values. More...
 
const double & operator[] (const unsigned &i) const
 Overload the bracket operator (const version) More...
 
double & operator() (const unsigned &i)
 Overload the round bracket operator to provide access to values. More...
 
const double & operator() (const unsigned &i) const
 Overload the round bracket operator (const version) More...
 
double & operator() (const unsigned &i, const unsigned &j)
 Overload the round bracket operator, allowing for two indices. More...
 
const double & operator() (const unsigned &i, const unsigned &j) const
 Overload the round bracket operator, allowing for two indices (const version) More...
 
unsigned nindex1 () const
 Return the range of index 1 of the shape function object. More...
 
unsigned nindex2 () const
 Return the range of index 2 of the shape function object. More...
 

Additional Inherited Members

- Protected Member Functions inherited from oomph::Shape
void range_check (const unsigned &i, const unsigned &j) const
 Private function that checks whether the index is in range. More...
 
- Protected Attributes inherited from oomph::Shape
double * Psi
 Pointer that addresses the storage that will be used to read and set the shape functions. The shape functions are packed into a flat array of doubles. More...
 
double * Allocated_storage
 Pointer that addresses the storage allocated by the object on construction. This will be the same as Psi if the object is not copied. More...
 
unsigned Index1
 Size of the first index of the shape function. More...
 
unsigned Index2
 Size of the second index of the shape function. More...
 

Detailed Description

A shape function with a deep copy constructor. This allows for use with stl operations (e.g. manipulating vectors of shape functions). A seperate class is needed because the basic shape function uses a shallow copy.

Definition at line 518 of file shape.h.

Constructor & Destructor Documentation

◆ ShapeWithDeepCopy() [1/4]

oomph::ShapeWithDeepCopy::ShapeWithDeepCopy ( const unsigned &  N)
inline

Constructor for a single-index set of shape functions.

Definition at line 522 of file shape.h.

◆ ShapeWithDeepCopy() [2/4]

oomph::ShapeWithDeepCopy::ShapeWithDeepCopy ( const unsigned &  N,
const unsigned &  M 
)
inline

Constructor for a two-index set of shape functions.

Definition at line 525 of file shape.h.

◆ ShapeWithDeepCopy() [3/4]

oomph::ShapeWithDeepCopy::ShapeWithDeepCopy ( )
inline

Default constructor.

Definition at line 528 of file shape.h.

◆ ShapeWithDeepCopy() [4/4]

oomph::ShapeWithDeepCopy::ShapeWithDeepCopy ( const ShapeWithDeepCopy old_shape)
inline

Deep copy constructor.

Definition at line 531 of file shape.h.

References i, oomph::Shape::Index1, oomph::Shape::Index2, and oomph::Shape::Psi.

◆ ~ShapeWithDeepCopy()

oomph::ShapeWithDeepCopy::~ShapeWithDeepCopy ( )
inline

Destructor, clear up the memory allocated by the object.

Definition at line 544 of file shape.h.

References oomph::Shape::Allocated_storage.

Member Function Documentation

◆ operator=()

void oomph::ShapeWithDeepCopy::operator= ( const ShapeWithDeepCopy old_shape)
delete

Broken assignment operator.


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