Point3DSet Class Reference

Arbitray set of points in 3 dimensions (double precision). More...

#include <Point3DSet.h>

Inheritance diagram for Point3DSet:

Inheritance graph
[legend]
Collaboration diagram for Point3DSet:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 Point3DSet (size_t n=0)
 New set of n points. All points have x = y = z = 0.
 Point3DSet (vector< Point3D< double > > const &initpoints)
 New set of points initialized by initpoints.
virtual ~Point3DSet ()
 Destruct me.
size_t size () const
 Return the number of points in the set.
Point3D< double > const & operator[] (int i) const
 Return a const reference to the i-th point in the set.
vector< Point3D< double > > const & points () const
 Return a const reference to the vector of points.
void append (Point3D< double > const &p)
 Append the point p to the vector of points.
virtual size_t getIndex (Point3D< double > const &p)
 Return the index of the specified point.
virtual size_t getIndex (double x, double y, double z)
 Return the index of the specified with the specified x,y, and z coordinates.
shared_ptr< Point3DSetsubset (vector< size_t > const &indices) const
 Return a new Point3DSet consisting of the subset of points given by the vector of indices.
shared_ptr< Point3DSetsubspace (SubSpaceConstraint const &cnstr) const
 Return a new Point3DSet consisting of the subset of points for which the SubSpaceConstraint.
shared_ptr< vector< size_t > > subspace_index (SubSpaceConstraint const &cnstr) const
 Return the vector of indices of the points for which the SubSpaceConstraint.
shared_ptr< vector< shared_ptr
< Point3DSet > > > 
split (Point3DSetSpliter &splitter)
 Splits the set of points into disjunct subsets, based on the logic implemented by Point3DSetSpliter.
shared_ptr< vector< shared_ptr
< Point3DSet > > > 
split (shared_ptr< Point3DSetSpliter > splitter)
 Splits the set of points into disjunct subsets, based on the logic implemented by Point3DSetSpliter.
void python_exposer (vector< shared_ptr< Point3DSet > >)
 Forces py++ to expose the arument type.
void setPoint (size_t i, Point3D< double > const &p)

Protected Types

typedef hash_map< Point3D
< double >, size_t,
PCSIM::hash< Point3D< double > > > 
pointhash_t

Protected Attributes

vector< Point3D< double > > m_points
pointhash_t lookup


Detailed Description

Arbitray set of points in 3 dimensions (double precision).

An encapsulation of an array of 3d points to be used in the population construction. This is an abstract class to be derived from for specific implementations.

Definition at line 30 of file Point3DSet.h.


Member Typedef Documentation

typedef hash_map< Point3D<double> , size_t, PCSIM::hash< Point3D<double> > > Point3DSet::pointhash_t [protected]

Definition at line 110 of file Point3DSet.h.


Constructor & Destructor Documentation

Point3DSet::Point3DSet ( size_t  n = 0  )  [inline]

New set of n points. All points have x = y = z = 0.

Definition at line 35 of file Point3DSet.h.

References m_points.

Referenced by subset().

Point3DSet::Point3DSet ( vector< Point3D< double > > const &  initpoints  )  [inline]

New set of points initialized by initpoints.

Definition at line 40 of file Point3DSet.h.

References lookup, and m_points.

virtual Point3DSet::~Point3DSet (  )  [inline, virtual]

Destruct me.

Definition at line 47 of file Point3DSet.h.


Member Function Documentation

size_t Point3DSet::size (  )  const [inline]

Return the number of points in the set.

Definition at line 52 of file Point3DSet.h.

References m_points.

Referenced by RatioBasedFamilies::generateIDs(), and RatioBasedSpliter::split().

Point3D<double> const& Point3DSet::operator[] ( int  i  )  const [inline]

Return a const reference to the i-th point in the set.

Definition at line 57 of file Point3DSet.h.

References m_points.

vector< Point3D<double> > const& Point3DSet::points (  )  const [inline]

Return a const reference to the vector of points.

Definition at line 62 of file Point3DSet.h.

References m_points.

void Point3DSet::append ( Point3D< double > const &  p  )  [inline]

Append the point p to the vector of points.

Definition at line 67 of file Point3DSet.h.

References lookup, and m_points.

size_t Point3DSet::getIndex ( Point3D< double > const &  p  )  [virtual]

Return the index of the specified point.

Definition at line 18 of file Point3DSet.cpp.

References lookup.

Referenced by getIndex().

size_t Point3DSet::getIndex ( double  x,
double  y,
double  z 
) [virtual]

Return the index of the specified with the specified x,y, and z coordinates.

Definition at line 27 of file Point3DSet.cpp.

References getIndex().

Here is the call graph for this function:

shared_ptr< Point3DSet > Point3DSet::subset ( vector< size_t > const &  indices  )  const

Return a new Point3DSet consisting of the subset of points given by the vector of indices.

Definition at line 43 of file Point3DSet.cpp.

References m_points, and Point3DSet().

Referenced by subspace().

Here is the call graph for this function:

shared_ptr< Point3DSet > Point3DSet::subspace ( SubSpaceConstraint const &  cnstr  )  const

Return a new Point3DSet consisting of the subset of points for which the SubSpaceConstraint.

  • cnstr is true.

Definition at line 32 of file Point3DSet.cpp.

References subset(), and subspace_index().

Here is the call graph for this function:

shared_ptr< vector< size_t > > Point3DSet::subspace_index ( SubSpaceConstraint const &  cnstr  )  const

Return the vector of indices of the points for which the SubSpaceConstraint.

  • cnstr is true.

Definition at line 37 of file Point3DSet.cpp.

Referenced by subspace().

shared_ptr< vector< shared_ptr<Point3DSet> > > Point3DSet::split ( Point3DSetSpliter splitter  )  [inline]

Splits the set of points into disjunct subsets, based on the logic implemented by Point3DSetSpliter.

Definition at line 88 of file Point3DSet.h.

References Point3DSetSpliter::split().

Here is the call graph for this function:

shared_ptr< vector< shared_ptr<Point3DSet> > > Point3DSet::split ( shared_ptr< Point3DSetSpliter splitter  )  [inline]

Splits the set of points into disjunct subsets, based on the logic implemented by Point3DSetSpliter.

Definition at line 94 of file Point3DSet.h.

void Point3DSet::python_exposer ( vector< shared_ptr< Point3DSet > >   )  [inline]

Forces py++ to expose the arument type.

Definition at line 100 of file Point3DSet.h.

void Point3DSet::setPoint ( size_t  i,
Point3D< double > const &  p 
) [inline]

Definition at line 102 of file Point3DSet.h.

References lookup, and m_points.


Member Data Documentation

vector< Point3D<double> > Point3DSet::m_points [protected]

Definition at line 109 of file Point3DSet.h.

Referenced by append(), operator[](), Point3DSet(), points(), setPoint(), size(), and subset().

Definition at line 111 of file Point3DSet.h.

Referenced by append(), getIndex(), Point3DSet(), and setPoint().


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

Generated on Wed Jul 9 16:34:52 2008 for PCSIM by  doxygen 1.5.5