d8eddc
#pragma once
d8eddc
d8eddc
#ifndef MODIFIERSEGMENTATION_INCLUDED
d8eddc
#define MODIFIERSEGMENTATION_INCLUDED
d8eddc
d8eddc
// TnzTools includes
d8eddc
#include <tools inputmanager.h=""></tools>
d8eddc
d8eddc
d8eddc
#undef DVAPI
d8eddc
#undef DVVAR
d8eddc
#ifdef TNZTOOLS_EXPORTS
d8eddc
#define DVAPI DV_EXPORT_API
d8eddc
#define DVVAR DV_EXPORT_VAR
d8eddc
#else
d8eddc
#define DVAPI DV_IMPORT_API
d8eddc
#define DVVAR DV_IMPORT_VAR
d8eddc
#endif
d8eddc
d8eddc
d8eddc
//===================================================================
d8eddc
d8eddc
//*****************************************************************************************
d8eddc
//    TModifierSegmentation definition
d8eddc
//*****************************************************************************************
d8eddc
6be163
class DVAPI TModifierSegmentation: public TInputModifier {
d8eddc
private:
493cac
  TPointD m_step;
7d1790
  int m_maxLevel;
493cac
  
7d1790
  void addSegments(TTrack &track, const TTrackPoint &p0, const TTrackPoint &p1, int maxLevel);
d8eddc
d8eddc
public:
ebedef
  explicit TModifierSegmentation(const TPointD &step = TPointD(1.0, 1.0), int level = 10);
d8eddc
493cac
  void setStep(const TPointD &step);
7d1790
  inline const TPointD& getStep() const { return m_step; }
7d1790
7d1790
  void setMaxLevel(int maxLevel);
7d1790
  inline int getMaxLevel() const { return m_maxLevel; }
493cac
  
d8eddc
  void modifyTrack(
c3c215
    const TTrack &track,
d8eddc
    TTrackList &outTracks ) override;
d8eddc
};
d8eddc
d8eddc
d8eddc
#endif