Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Shapes/ShapeOps_impl.hpp

    rb94634 rc67c65  
    1717#include "Shapes/Shape_impl.hpp"
    1818#include "Shapes/ShapeExceptions.hpp"
     19#include "Shapes/ShapeType.hpp"
    1920#include "LinearAlgebra/Vector.hpp"
    2021#include "LinearAlgebra/RealSpaceMatrix.hpp"
     
    2829  ShapeOpsBase_impl(const Shape::impl_ptr&);
    2930  virtual ~ShapeOpsBase_impl();
    30   virtual bool isInside(const Vector &point);
    31   virtual bool isOnSurface(const Vector &point);
    32   virtual Vector getNormal(const Vector &point) throw (NotOnSurfaceException);
    33   virtual LineSegmentSet getLineIntersections(const Line&);
     31  virtual bool isInside(const Vector &point) const;
     32  virtual bool isOnSurface(const Vector &point) const;
     33  virtual Vector getNormal(const Vector &point) const throw (NotOnSurfaceException);
     34  virtual Vector getCenter() const;
     35  virtual double getRadius() const;
     36  virtual LineSegmentSet getLineIntersections(const Line&) const;
     37  virtual enum ShapeType getType() const;
    3438  virtual std::vector<Vector> getHomogeneousPointsOnSurface(const size_t N) const;
     39  virtual std::vector<Vector> getHomogeneousPointsInVolume(const size_t N) const;
    3540protected:
    36   virtual Vector translateIn(const Vector &point)=0;
    37   virtual Vector translateOutPos(const Vector &point)=0;
    38   virtual Vector translateOutNormal(const Vector &point)=0;
     41  virtual Vector translateIn(const Vector &point) const=0;
     42  virtual Vector translateOutPos(const Vector &point) const=0;
     43  virtual Vector translateOutNormal(const Vector &point) const=0;
    3944  Shape::impl_ptr getArg() const;
    4045private:
     
    4853  virtual ~Resize_impl();
    4954protected:
    50   virtual Vector translateIn(const Vector &point);
    51   virtual Vector translateOutPos(const Vector &point);
    52   virtual Vector translateOutNormal(const Vector &point);
    53   virtual std::string toString();
    54   virtual bool isInside(const Vector& point);
     55  virtual double getVolume() const;
     56  virtual double getSurfaceArea() const;
     57  virtual Vector translateIn(const Vector &point) const;
     58  virtual Vector translateOutPos(const Vector &point) const;
     59  virtual Vector translateOutNormal(const Vector &point) const;
     60  virtual std::string toString() const;
     61  virtual bool isInside(const Vector& point) const;
    5562  virtual std::vector<Vector> getHomogeneousPointsOnSurface(const size_t N) const;
     63  virtual std::vector<Vector> getHomogeneousPointsInVolume(const size_t N) const;
    5664private:
    5765  double size;
     
    6472  virtual ~Translate_impl();
    6573protected:
    66   virtual Vector translateIn(const Vector &point);
    67   virtual Vector translateOutPos(const Vector &point);
    68   virtual Vector translateOutNormal(const Vector &point);
    69   virtual std::string toString();
    70   virtual bool isInside(const Vector& point);
     74  virtual Vector getCenter() const;
     75  virtual double getRadius() const;
     76  virtual double getVolume() const;
     77  virtual double getSurfaceArea() const;
     78  virtual Vector translateIn(const Vector &point) const;
     79  virtual Vector translateOutPos(const Vector &point) const;
     80  virtual Vector translateOutNormal(const Vector &point) const;
     81  virtual std::string toString() const;
     82  virtual bool isInside(const Vector& point) const;
    7183  virtual std::vector<Vector> getHomogeneousPointsOnSurface(const size_t N) const;
     84  virtual std::vector<Vector> getHomogeneousPointsInVolume(const size_t N) const;
    7285private:
    7386  Vector offset;
     
    7790{
    7891public:
    79   Stretch_impl(const Shape::impl_ptr&, const Vector&);
     92
     93
     94        Stretch_impl(const Shape::impl_ptr&, const Vector&);
    8095  virtual ~Stretch_impl();
    8196protected:
    82   virtual Vector translateIn(const Vector &point);
    83   virtual Vector translateOutPos(const Vector &point);
    84   virtual Vector translateOutNormal(const Vector &point);
    85   virtual std::string toString();
    86   virtual bool isInside(const Vector& point);
     97  virtual double getVolume() const;
     98  virtual double getSurfaceArea() const;
     99  virtual Vector translateIn(const Vector &point) const;
     100  virtual Vector translateOutPos(const Vector &point) const;
     101  virtual Vector translateOutNormal(const Vector &point) const;
     102  virtual std::string toString() const;
     103  virtual bool isInside(const Vector& point) const;
    87104  virtual std::vector<Vector> getHomogeneousPointsOnSurface(const size_t N) const;
     105  virtual std::vector<Vector> getHomogeneousPointsInVolume(const size_t N) const;
    88106private:
    89107  Vector factors;
     
    97115  virtual ~Transform_impl();
    98116protected:
    99   virtual Vector translateIn(const Vector &point);
    100   virtual Vector translateOutPos(const Vector &point);
    101   virtual Vector translateOutNormal(const Vector &point);
    102   virtual std::string toString();
    103   virtual bool isInside(const Vector& point);
     117  virtual double getVolume() const;
     118  virtual double getSurfaceArea() const;
     119  virtual Vector translateIn(const Vector &point) const;
     120  virtual Vector translateOutPos(const Vector &point) const;
     121  virtual Vector translateOutNormal(const Vector &point) const;
     122  virtual std::string toString() const;
     123  virtual bool isInside(const Vector& point) const;
    104124  virtual std::vector<Vector> getHomogeneousPointsOnSurface(const size_t N) const;
     125  virtual std::vector<Vector> getHomogeneousPointsInVolume(const size_t N) const;
    105126private:
    106127  RealSpaceMatrix transformation;
Note: See TracChangeset for help on using the changeset viewer.