Shinya Kitaoka 810553
#pragma once
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#ifndef COLORFXUTILS_H
Toshihiro Shimizu 890ddd
#define COLORFXUTILS_H
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#include "tgeometry.h"
Toshihiro Shimizu 890ddd
#include "tpixel.h"
Toshihiro Shimizu 890ddd
#include "trandom.h"
Toshihiro Shimizu 890ddd
#include "tregionoutline.h"
Toshihiro Shimizu 890ddd
#include "tcurves.h"
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
class TRegion;
Toshihiro Shimizu 890ddd
class TFlash;
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
class RubberDeform {
Shinya Kitaoka 120a6e
  std::vector<t3dpointd> *m_pPolyOri;</t3dpointd>
Shinya Kitaoka 120a6e
  std::vector<t3dpointd> m_polyLoc;</t3dpointd>
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  void deformStep();
Shinya Kitaoka 120a6e
  double avgLength();
Shinya Kitaoka 120a6e
  void refinePoly(const double rf = -1.0);
Shinya Kitaoka 120a6e
  void getBBox(TRectD &bbox);
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
public:
Shinya Kitaoka 120a6e
  RubberDeform();
Shinya Kitaoka 120a6e
  RubberDeform(std::vector<t3dpointd> *pPolyOri, const double rf = -1.0);</t3dpointd>
Shinya Kitaoka 120a6e
  void copyLoc2Ori() { *m_pPolyOri = m_polyLoc; };
Shinya Kitaoka 120a6e
  void copyOri2Loc() { m_polyLoc = *m_pPolyOri; };
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  virtual ~RubberDeform();
Shinya Kitaoka 120a6e
  void deform(const double n);
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#endif