Provide a data structure for regularly spaced 3D grids.
More...
#include <avogadro/core/cube.h>
|
enum | Type {
VdW
,
SolventAccessible
,
SolventExcluded
,
ESP
,
ElectronDensity
,
SpinDensity
,
MO
,
FromFile
,
None
} |
|
Vector3 | min () const |
Vector3 | max () const |
Vector3 | spacing () const |
Vector3i | dimensions () const |
bool | setLimits (const Vector3 &min, const Vector3 &max, const Vector3i &points) |
bool | setLimits (const Vector3 &min, const Vector3 &max, float spacing) |
bool | setLimits (const Vector3 &min, const Vector3i &dim, float spacing) |
bool | setLimits (const Vector3 &min, const Vector3i &dim, const Vector3 &spacing) |
bool | setLimits (const Cube &cube) |
bool | setLimits (const Molecule &mol, float spacing, float padding) |
std::vector< float > * | data () |
const std::vector< float > * | data () const |
bool | setData (const std::vector< float > &values) |
bool | addData (const std::vector< float > &values) |
unsigned int | closestIndex (const Vector3 &pos) const |
Vector3i | indexVector (const Vector3 &pos) const |
Vector3 | position (unsigned int index) const |
float | value (int i, int j, int k) const |
float | value (const Vector3i &pos) const |
float | valuef (const Vector3f &pos) const |
float | value (const Vector3 &pos) const |
bool | setValue (unsigned int i, unsigned int j, unsigned int k, float value) |
bool | setValue (unsigned int i, float value) |
void | fill (float value) |
bool | fillStripe (unsigned int i, unsigned int j, unsigned int kfirst, unsigned int klast, float value) |
float | minValue () const |
float | maxValue () const |
void | setName (const std::string &name_) |
std::string | name () const |
void | setCubeType (Type type) |
Type | cubeType () const |
Mutex * | lock () const |
|
std::vector< float > | m_data |
Vector3 | m_min |
Vector3 | m_max |
Vector3 | m_spacing |
Vector3i | m_points |
float | m_minValue |
float | m_maxValue |
std::string | m_name |
Type | m_cubeType |
Mutex * | m_lock |
◆ Type
Different Cube types relating to the data
◆ min()
- Returns
- The minimum point in the cube.
◆ max()
- Returns
- The maximum point in the cube.
◆ spacing()
Vector3 spacing |
( |
| ) |
const |
- Returns
- The spacing of the grid.
◆ dimensions()
Vector3i dimensions |
( |
| ) |
const |
- Returns
- The x, y and z dimensions of the cube.
◆ setLimits() [1/6]
bool setLimits |
( |
const Vector3 & | min, |
|
|
const Vector3 & | max, |
|
|
const Vector3i & | points ) |
Set the limits of the cube.
- Parameters
-
min | The minimum point in the cube. |
max | The maximum point in the cube. |
points | The number of (integer) points in the cube. |
◆ setLimits() [2/6]
bool setLimits |
( |
const Vector3 & | min, |
|
|
const Vector3 & | max, |
|
|
float | spacing ) |
Set the limits of the cube.
- Parameters
-
min | The minimum point in the cube. |
max | The maximum point in the cube. |
spacing | The interval between points in the cube. |
◆ setLimits() [3/6]
bool setLimits |
( |
const Vector3 & | min, |
|
|
const Vector3i & | dim, |
|
|
float | spacing ) |
Set the limits of the cube.
- Parameters
-
min | The minimum point in the cube. |
dim | The integer dimensions of the cube in x, y and z. |
spacing | The interval between points in the cube. |
◆ setLimits() [4/6]
bool setLimits |
( |
const Vector3 & | min, |
|
|
const Vector3i & | dim, |
|
|
const Vector3 & | spacing ) |
Set the limits of the cube.
- Parameters
-
min | The minimum point in the cube. |
dim | The integer dimensions of the cube in x, y and z. |
spacing | The interval between points in the cube. |
◆ setLimits() [5/6]
bool setLimits |
( |
const Cube & | cube | ) |
|
Set the limits of the cube - copy the limits of an existing Cube.
- Parameters
-
cube | Existing Cube to copy the limits from. |
◆ setLimits() [6/6]
bool setLimits |
( |
const Molecule & | mol, |
|
|
float | spacing, |
|
|
float | padding ) |
Set the limits of the cube.
- Parameters
-
mol | Molecule to take limits from |
spacing | The spacing of the regular grid |
padding | Padding around the molecule |
◆ data()
std::vector< float > * data |
( |
| ) |
|
- Returns
- Vector containing all the data in a one-dimensional array.
◆ setData()
bool setData |
( |
const std::vector< float > & | values | ) |
|
Set the values in the cube to those passed in the vector.
◆ addData()
bool addData |
( |
const std::vector< float > & | values | ) |
|
Adds the values in the cube to those passed in the vector.
◆ closestIndex()
unsigned int closestIndex |
( |
const Vector3 & | pos | ) |
const |
- Returns
- Index of the point closest to the position supplied.
- Parameters
-
pos | Position to get closest index for. |
◆ indexVector()
Vector3i indexVector |
( |
const Vector3 & | pos | ) |
const |
- Parameters
-
pos | Position to get closest index for. |
- Returns
- The i, j, k index closest to the position supplied.
◆ position()
Vector3 position |
( |
unsigned int | index | ) |
const |
- Parameters
-
index | Index to be translated to a position. |
- Returns
- Position of the given index.
◆ value() [1/3]
float value |
( |
int | i, |
|
|
int | j, |
|
|
int | k ) const |
This function is very quick as it just returns the value at the point.
- Returns
- Cube value at the integer point i, j, k.
◆ value() [2/3]
float value |
( |
const Vector3i & | pos | ) |
const |
This function is very quick as it just returns the value at the point.
- Returns
- Cube value at the integer point pos.
◆ valuef()
float valuef |
( |
const Vector3f & | pos | ) |
const |
This function uses trilinear interpolation to find the value at points between those specified in the cube.
- Returns
- Cube value at the specified position.
- Warning
- This function is quite computationally expensive and should be avoided where possible.
◆ value() [3/3]
float value |
( |
const Vector3 & | pos | ) |
const |
This function uses trilinear interpolation to find the value at points between those specified in the cube.
- Returns
- Cube value at the specified position.
- Warning
- This function is quite computationally expensive and should be avoided where possible.
◆ setValue() [1/2]
bool setValue |
( |
unsigned int | i, |
|
|
unsigned int | j, |
|
|
unsigned int | k, |
|
|
float | value ) |
Sets the value at the specified point in the cube.
- Parameters
-
i | x component of the position. |
j | y component of the position. |
k | z component of the position. |
value | Value at the specified position. |
◆ setValue() [2/2]
bool setValue |
( |
unsigned int | i, |
|
|
float | value ) |
Sets the value at the specified index in the cube.
- Parameters
-
i | 1-dimensional index of the point to set in the cube. |
◆ fill()
Sets all indices in the cube to the specified value.
- Parameters
-
value | Value to fill the cube with. |
◆ fillStripe()
bool fillStripe |
( |
unsigned int | i, |
|
|
unsigned int | j, |
|
|
unsigned int | kfirst, |
|
|
unsigned int | klast, |
|
|
float | value ) |
Sets all indices in a Z stripe of the cube to the specified value.
- Parameters
-
i | x component of the position. |
j | y component of the position. |
kfirst | first z position to fill. |
klast | last z position to fill. |
value | Value to fill the stripe with. |
◆ minValue()
- Returns
- The minimum value at any point in the Cube.
◆ maxValue()
- Returns
- The maximum value at any point in the Cube.
◆ lock()
The documentation for this class was generated from the following file: