⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dot.h

📁 A Library of Efficient Data Types and Algorithms,封装了常用的ADT及其相关算法的软件包
💻 H
字号:
/*******************************************************************************++  LEDA 4.5  +++  dot.h+++  Copyright (c) 1995-2004+  by Algorithmic Solutions Software GmbH+  All rights reserved.+ *******************************************************************************/// $Revision: 1.3 $  $Date: 2004/02/06 11:18:26 $#ifndef DOT_H#define DOT_H#include <LEDA/anim/view.h>LEDA_BEGIN_NAMESPACE//---------------------------------------------------------------------------// class dot// ---------------------------------------------------------------------------class dot : public base_element{  point     pos;       // dot position     rectangle c_cur_pos; // current cell rectangle  rectangle c_new_pos; // new cell rectangle  double    c_height;  // cell height  double    c_width;   // cell width  color     c_col;     // cell fill color  color     c_bcol;    // cell border color    rectangle v_cur_pos; // current value rectangle  rectangle v_new_pos; // new value rectangle    double    v_radius;  // dot radius  double    v_height;  // value height  double    v_stretch; // value stretch factor  color     v_col;     // value fill color  color     v_bcol;    // value border color        void set_value_layout();  void set_cell_layout();    void clear(rectangle);  void attach(view&);  void detach(view&);  public:    dot();  dot(const dot&);  dot& operator=(const dot&);    dot(double val, point = point(0,0));  dot(double val, double stretch, point = point(0,0));     ~dot();    void redraw();    void draw();  void clear();    rectangle get_bounding_box();
  bool intersect(segment, list<point>&);
  point  set_position(double x, double y);  point  set_position(point);  point  get_position() const;    color  set_cell_color(color c);  color  get_cell_color() const;      color  set_cell_border_color(color c);  color  get_cell_border_color() const;  double set_cell_height(double h);  double get_cell_height() const;    double set_cell_width(double w);   double get_cell_width() const;        double set_stretch_factor(double);
  double get_stretch_factor() const;
  color  set_value_color(color c);  color  get_value_color() const;  color  set_value_border_color(color c);  color  get_value_border_color() const;  double set_value_radius(double);  double get_value_radius() const;      double set_value(double s);  double get_value() const;          // ----------------------------------
  // animated functions  
  // ----------------------------------    
  
  void swap(dot&);      
  void swap(dot&, const path&);
  void swap(dot&, const path&, const path&);
  
  void move(point);  
  void move(point, const path&);
  
  void translate(double,double);
  void translate(double,double, const path&);
  
  void assign(double);
  void assign(dot&);
  void assign(dot&, const path&);
};// ---------------------------------------------------------------------------
//  dot animations 
// ---------------------------------------------------------------------------

class dot_swap : public base_animation
{ 
  protected:

  dot&  D1;       // dot 1
  dot&  D2;       // dot 2
  
  view& V;        // view
  
  dot   hD1;      // helper dot 1
  dot   hD2;      // helper dot 2
  
  path  Path1;    // animation path for dot hD1
  path  Path2;    // animation path for dot hD2
  
  int   num;      // max. number of steps
  
  list<point> L1; // contains coordinates of hD1
  list<point> L2; // contains coordinates of hD2
    
  public:

  dot_swap(dot&, dot&); 
  dot_swap(dot&, dot&, const path&); 
  dot_swap(dot&, dot&, const path&, const path&); 
  
  void init(int);  
  int  steps() const { return num; }
  
  void start();  
  void step();
  void finish();
};



class dot_assign : public base_animation
{ 
  dot& D1;    // dot 1
  dot& D2;    // dot 2
  
  view&  V;   // view
  
  dot  hD1;    // helper dot

  path   Path;
  
  list<point> L;

  double val;

  int    num;
  
  public: 

  dot_assign(dot&, double x);
  dot_assign(dot&, dot&);
  dot_assign(dot&, dot&, const path&);
  
  void init(int);
  
  int steps() const { return num; }

  void start();
  void step();
  void finish();
};LEDA_END_NAMESPACE#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -