GEOS
3.12.0
include
geos
edgegraph
MarkHalfEdge.h
1
/**********************************************************************
2
*
3
* GEOS - Geometry Engine Open Source
4
* http://geos.osgeo.org
5
*
6
* Copyright (C) 2020 Paul Ramsey <pramsey@cleverelephant.ca>
7
*
8
* This is free software; you can redistribute and/or modify it under
9
* the terms of the GNU Lesser General Public Licence as published
10
* by the Free Software Foundation.
11
* See the COPYING file for more information.
12
*
13
**********************************************************************/
14
15
16
#pragma once
17
18
#include <geos/geom/Coordinate.h>
19
20
#include <geos/export.h>
21
#include <string>
22
#include <cassert>
23
24
namespace
geos
{
25
namespace
edgegraph {
// geos.edgegraph
26
27
class
GEOS_DLL MarkHalfEdge :
public
HalfEdge {
28
29
private
:
30
31
bool
m_isMarked;
32
33
public
:
34
40
MarkHalfEdge(
const
geom::CoordinateXYZM& p_orig) :
41
HalfEdge(p_orig),
42
m_isMarked(false)
43
{};
44
51
static
bool
isMarked(HalfEdge* e);
52
58
static
void
mark(HalfEdge* e);
59
66
static
void
setMark(HalfEdge* e,
bool
isMarked);
67
74
static
void
setMarkBoth(HalfEdge* e,
bool
isMarked);
75
81
static
void
markBoth(HalfEdge* e);
82
88
bool
isMarked()
const
{
return
m_isMarked; }
89
94
void
mark() { m_isMarked =
true
; }
95
101
void
setMark(
bool
p_isMarked) { m_isMarked = p_isMarked; }
102
103
};
104
105
106
}
// namespace geos.edgegraph
107
}
// namespace geos
108
109
110
geos
Basic namespace for all GEOS functionalities.
Definition:
Angle.h:25
Generated by
1.8.20