faunus
Public Member Functions | Public Attributes | List of all members
Faunus::Geometry::GeometryImplementation Class Referenceabstract

A base class for various geometries implementations. More...

#include <geometry.h>

Inheritance diagram for Faunus::Geometry::GeometryImplementation:
Inheritance graph
[legend]
Collaboration diagram for Faunus::Geometry::GeometryImplementation:
Collaboration graph
[legend]

Public Member Functions

virtual std::unique_ptr< GeometryImplementationclone () const =0
 A unique pointer to a copy of self. To be used in copy constructors.
 
- Public Member Functions inherited from Faunus::Geometry::GeometryBase
virtual Point setVolume (double, VolumeMethod=VolumeMethod::ISOTROPIC)=0
 Set volume.
 
virtual double getVolume (int=3) const =0
 Get volume.
 
virtual void boundary (Point &) const =0
 Apply boundary conditions.
 
virtual bool collision (const Point &) const =0
 Overlap with boundaries.
 
virtual void randompos (Point &, Random &) const =0
 Generate random position.
 
virtual Point vdist (const Point &a, const Point &b) const =0
 Minimum distance vector b->a.
 
virtual Point getLength () const =0
 Side lengths.
 
virtual void to_json (json &j) const =0
 
virtual void from_json (const json &j)=0
 
BoundaryFunction getBoundaryFunc () const
 Lambda for applying boundary conditions on a point.
 
DistanceFunction getDistanceFunc () const
 Lambda for calculating the (minimum) distance vector between two positions.
 

Public Attributes

BoundaryCondition boundary_conditions
 

Additional Inherited Members

- Protected Member Functions inherited from Faunus::Geometry::GeometryBase
template<typename T = double>
int anint (T x) const
 Round to int.
 

Detailed Description

A base class for various geometries implementations.


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