GenGeo  1.1
ClippedCircleVol Class Reference

#include <ClippedCircleVol.h>

Inheritance diagram for ClippedCircleVol:
Collaboration diagram for ClippedCircleVol:

Public Member Functions

 ClippedCircleVol ()
 ClippedCircleVol (const Vector3 &, double)
virtual ~ClippedCircleVol ()
void addLine (const Line2D &, bool)
virtual Vector3 getAPoint (int) const
virtual const map< double,
const AGeometricObject * > 
getClosestObjects (const Vector3 &, int) const
virtual bool isIn (const Vector3 &) const
virtual bool isIn (const Sphere &)
- Public Member Functions inherited from CircleVol
 CircleVol ()
 CircleVol (const Vector3 &, double)
virtual ~CircleVol ()
virtual pair< Vector3, Vector3getBoundingBox ()
virtual Line2D getClosestPlane (const Vector3 &)
virtual const map< double,
const Line2D * > 
getClosestPlanes (const Vector3 &, int) const
- Public Member Functions inherited from AVolume2D
virtual ~AVolume2D ()
- Public Member Functions inherited from AVolume
virtual ~AVolume ()
virtual int getNumberSubVolumes () const

Protected Attributes

vector< pair< Line2D, bool > > m_lines
- Protected Attributes inherited from CircleVol
SphereIn m_sph

Detailed Description

A clipped circle volume.

The volume is bounded by a circle and by the lines added to the volume using the addLine function. The in/out decision does depend on the line normals, i.e. particles on the side of a line where the normal is positive are considered inside, those on the negative side outside.

Constructor & Destructor Documentation

ClippedCircleVol::ClippedCircleVol ( )
ClippedCircleVol::ClippedCircleVol ( const Vector3 center,
double  radius 
)

constructor taking center and radius of the circle as arguments

Parameters
centerthe center of the circle
radiusthe radius of the circle
virtual ClippedCircleVol::~ClippedCircleVol ( )
inlinevirtual

Member Function Documentation

void ClippedCircleVol::addLine ( const Line2D l,
bool  fit 
)

add a line to the volume

Parameters
lthe line
fitif true, line is used for fitting, if false line is only used for in/out detection

References m_lines.

Referenced by exportClippedCircleVol().

Vector3 ClippedCircleVol::getAPoint ( int  n) const
virtual

get a random point inside the volume

Parameters
nis ignored

Reimplemented from CircleVol.

References isIn().

Here is the call graph for this function:

const map< double, const AGeometricObject * > ClippedCircleVol::getClosestObjects ( const Vector3 pos,
int  nr 
) const
virtual

get objects closest to a given point

Parameters
posthe point
nrthe max. number of objects returned

Reimplemented from CircleVol.

References m_lines.

bool ClippedCircleVol::isIn ( const Vector3 pos) const
virtual

test if a point is inside the volume

Parameters
posthe point

Reimplemented from CircleVol.

References m_lines.

Referenced by getAPoint(), and isIn().

bool ClippedCircleVol::isIn ( const Sphere S)
virtual

test if a sphere(circle) is completely inside the volume

Parameters
Sthe sphere

Reimplemented from CircleVol.

References Sphere::Center(), isIn(), m_lines, and Sphere::Radius().

Here is the call graph for this function:

Member Data Documentation

vector<pair<Line2D,bool> > ClippedCircleVol::m_lines
protected

Referenced by addLine(), getClosestObjects(), and isIn().


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