pmwx_sweep_line_curve.h

来自「CGAL is a collaborative effort of severa」· C头文件 代码 · 共 112 行

H
112
字号
// Copyright (c) 1997  Tel-Aviv University (Israel).// All rights reserved.//// This file is part of CGAL (www.cgal.org); you may redistribute it under// the terms of the Q Public License version 1.0.// See the file LICENSE.QPL distributed with CGAL.//// Licensees holding a valid commercial license may use this file in// accordance with the commercial license agreement provided with the software.//// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.//// $Source: /CVSROOT/CGAL/Packages/Arrangement/include/CGAL/Sweep_line_2/Pmwx_sweep_line_curve.h,v $// $Revision: 1.8 $ $Date: 2003/09/18 10:19:50 $// $Name:  $//// Author(s)     : Tali Zvi <talizvi@post.tau.ac.il>#ifndef CGAL_PMWX_SWEEP_LINE_CURVE_H#define CGAL_PMWX_SWEEP_LINE_CURVE_H#include <set>#include <CGAL/Sweep_line_2/Sweep_line_subcurve.h>#include <CGAL/Sweep_line_2/Pmwx_insert_info.h>#include <CGAL/Sweep_line_2/Pmwx_sweep_line_event.h>CGAL_BEGIN_NAMESPACE/*! @class Pmwx_sweep_line_curve  *   * a class that holds information about a curve that is added to  * the planar map. * In addition to the information that is contained in Sweep_line_subcurve, * when a planar map is constructed, a reference to an event that was  * handled last on the curve is stored. This information is used to retrieve * hints when a subcurve of this curve is inserted into the planar map. * * Inherits from Sweep_line_subcurve * \sa Sweep_line_subcurve */template<class SweepLineTraits_2, class HalfedgeHandle>class Pmwx_sweep_line_curve : public Sweep_line_subcurve<SweepLineTraits_2>{public:  typedef SweepLineTraits_2 Traits;  typedef typename Traits::Point_2 Point_2;  typedef typename Traits::Curve_2 Curve_2;  typedef typename Traits::X_monotone_curve_2 X_monotone_curve_2;  typedef Sweep_line_subcurve<SweepLineTraits_2> Base;  typedef Pmwx_sweep_line_curve<Traits, HalfedgeHandle> Self;  typedef Status_line_curve_less_functor<Traits, Self> StatusLineCurveLess;  typedef std::set<Self*, StatusLineCurveLess> StatusLine;  typedef typename StatusLine::iterator StatusLineIter;  typedef Pmwx_insert_info<HalfedgeHandle> PmwxInsertInfo;  typedef Pmwx_sweep_line_event<Traits, Self> Event;  Pmwx_sweep_line_curve(int id, X_monotone_curve_2 &curve, Point_2 *reference, 			SweepLineTraits_2 *traits) :     Base(id, curve, reference, traits) , m_insertInfo(0), m_lastEvent(0)  {  }  void set_hint(StatusLineIter hint)   {    m_hint1 = hint;  }  StatusLineIter get_hint() const   {    return m_hint1;  }  void set_insert_info(PmwxInsertInfo *insertInfo) {    m_insertInfo = insertInfo;  }  PmwxInsertInfo *get_insert_info() const {    return m_insertInfo;  }  void set_last_event(Event *e) {    m_lastEvent = e;  }  Event *get_last_event() const {    return m_lastEvent;  }private:  /* the insert information  of this curve */  PmwxInsertInfo *m_insertInfo;  /*! the last event that was handled on the curve */  Event *m_lastEvent;    /*! */  StatusLineIter m_hint1;};CGAL_END_NAMESPACE#endif // CGAL_PMWX_SWEEP_LINE_CURVE_H

⌨️ 快捷键说明

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