Changeset f70c2a for molecuilder


Ignore:
Timestamp:
Apr 30, 2010, 9:53:16 AM (16 years ago)
Author:
Tillmann Crueger <crueger@…>
Children:
4eee8f
Parents:
cb2b9a
Message:

Added const correctness to plane class and simplified interface

Location:
molecuilder/src
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • molecuilder/src/Plane.cpp

    rcb2b9a rf70c2a  
    172172/************ Methods inherited from Space ****************/
    173173
    174 double Plane::distance(Vector &point){
     174double Plane::distance(const Vector &point) const{
    175175  double res = point.ScalarProduct(*normalVector)-offset;
    176176  return fabs(res);
    177177}
    178178
    179 Vector Plane::getClosestPoint(Vector &point){
     179Vector Plane::getClosestPoint(const Vector &point) const{
    180180  Vector difference = distance(point) * (*normalVector);
    181181  if(difference.IsZero()){
     
    189189  return (point - (sign * difference));
    190190}
    191 
    192 bool Plane::isContained(Vector &point){
    193   return (fabs(point.ScalarProduct(*normalVector) - offset)) < MYEPSILON;
    194 }
  • molecuilder/src/Plane.hpp

    rcb2b9a rf70c2a  
    5252  /****** Methods inherited from Space ***********/
    5353
    54   virtual double distance(Vector &point);
    55   virtual Vector getClosestPoint(Vector &point);
    56   virtual bool isContained(Vector &point);
    57 
     54  virtual double distance(const Vector &point) const;
     55  virtual Vector getClosestPoint(const Vector &point) const;
    5856
    5957private:
  • molecuilder/src/Space.cpp

    rcb2b9a rf70c2a  
    77
    88#include "Space.hpp"
     9#include "vector.hpp"
    910
    1011Space::Space()
     
    1314Space::~Space()
    1415{}
     16
     17bool Space::hasZero() const{
     18  return isContained(zeroVec);
     19}
     20
     21bool Space::isContained(const Vector &point) const{
     22  return (distance(point)) < MYEPSILON;
     23}
  • molecuilder/src/Space.hpp

    rcb2b9a rf70c2a  
    1717  virtual ~Space();
    1818
    19   virtual double distance(Vector &point)=0;
    20   virtual Vector getClosestPoint(Vector &point)=0;
    21   virtual bool isContained(Vector &point)=0;
     19  virtual double distance(const Vector &point) const=0;
     20  virtual Vector getClosestPoint(const Vector &point) const=0;
     21  virtual bool isContained(const Vector &point) const;
     22  virtual bool hasZero() const;
     23
    2224};
    2325
  • molecuilder/src/vector.cpp

    rcb2b9a rf70c2a  
    719719  return isInside;
    720720}
     721
     722
     723// some comonly used vectors
     724const Vector zeroVec(0,0,0);
     725const Vector e1(1,0,0);
     726const Vector e2(0,1,0);
     727const Vector e3(0,0,1);
  • molecuilder/src/vector.hpp

    rcb2b9a rf70c2a  
    101101};
    102102
     103// some commonly used and fixed vectors
     104const extern Vector zeroVec;
     105const extern Vector e1;
     106const extern Vector e2;
     107const extern Vector e3;
     108
    103109ostream & operator << (ostream& ost, const Vector &m);
    104110const Vector& operator*=(Vector& a, const double m);
Note: See TracChangeset for help on using the changeset viewer.