ErrorVisitor.java 4.76 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/*-
 *  Copyright 2020 Beuth Hochschule für Technik Berlin, Hochschule für Technik Stuttgart
 * 
 *  This file is part of CityDoctor2.
 *
 *  CityDoctor2 is free software: you can redistribute it and/or modify
 *  it under the terms of the GNU Lesser General Public License as published by
 *  the Free Software Foundation, either version 3 of the License, or
 *  (at your option) any later version.
 *
 *  CityDoctor2 is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU Lesser General Public License for more details.
 *
 *  You should have received a copy of the GNU Lesser General Public License
 *  along with CityDoctor2.  If not, see <https://www.gnu.org/licenses/>.
 */
package de.hft.stuttgart.citydoctor2.check;

import de.hft.stuttgart.citydoctor2.check.error.AllPolygonsWrongOrientationError;
import de.hft.stuttgart.citydoctor2.check.error.ConsecutivePointSameError;
import de.hft.stuttgart.citydoctor2.check.error.DependenciesNotMetError;
Matthias Betz's avatar
Matthias Betz committed
24
import de.hft.stuttgart.citydoctor2.check.error.NonPlanarPolygonDistancePlaneError;
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import de.hft.stuttgart.citydoctor2.check.error.DuplicatePointError;
import de.hft.stuttgart.citydoctor2.check.error.EdgeIntersectionError;
import de.hft.stuttgart.citydoctor2.check.error.HoleOutsideError;
import de.hft.stuttgart.citydoctor2.check.error.InteriorDisconnectedError;
import de.hft.stuttgart.citydoctor2.check.error.ManifoldEdgeError;
import de.hft.stuttgart.citydoctor2.check.error.MultipleConnectedComponentsError;
import de.hft.stuttgart.citydoctor2.check.error.NestedRingError;
import de.hft.stuttgart.citydoctor2.check.error.NonManifoldVertexError;
import de.hft.stuttgart.citydoctor2.check.error.NormalDeviationError;
import de.hft.stuttgart.citydoctor2.check.error.NotCeilingError;
import de.hft.stuttgart.citydoctor2.check.error.NotFloorError;
import de.hft.stuttgart.citydoctor2.check.error.NotGroundError;
import de.hft.stuttgart.citydoctor2.check.error.NotWallError;
import de.hft.stuttgart.citydoctor2.check.error.NullAreaError;
import de.hft.stuttgart.citydoctor2.check.error.PointTouchesEdgeError;
Matthias Betz's avatar
Matthias Betz committed
40
import de.hft.stuttgart.citydoctor2.check.error.PolygonIntersectingRingsError;
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
import de.hft.stuttgart.citydoctor2.check.error.PolygonWrongOrientationError;
import de.hft.stuttgart.citydoctor2.check.error.RingNotClosedError;
import de.hft.stuttgart.citydoctor2.check.error.RingSelfIntError;
import de.hft.stuttgart.citydoctor2.check.error.SameOrientationError;
import de.hft.stuttgart.citydoctor2.check.error.SchematronError;
import de.hft.stuttgart.citydoctor2.check.error.SolidNotClosedError;
import de.hft.stuttgart.citydoctor2.check.error.SolidSelfIntError;
import de.hft.stuttgart.citydoctor2.check.error.SurfaceUnfragmentedError;
import de.hft.stuttgart.citydoctor2.check.error.TinyEdgeError;
import de.hft.stuttgart.citydoctor2.check.error.TooFewPointsError;
import de.hft.stuttgart.citydoctor2.check.error.TooFewPolygonsError;
import de.hft.stuttgart.citydoctor2.check.error.UnknownCheckError;

/**
 * Visitor pattern interface to access errors. This is to determine the type of
 * an error without resorting to endless instanceof structures.
 * 
 * @author Matthias Betz
 *
 */
public interface ErrorVisitor {

	public void visit(HoleOutsideError err);

	public void visit(ManifoldEdgeError err);

	public void visit(MultipleConnectedComponentsError err);

	public void visit(NestedRingError err);

	public void visit(NonManifoldVertexError err);

	public void visit(PolygonWrongOrientationError err);

	public void visit(SameOrientationError err);

	public void visit(SolidNotClosedError err);

	public void visit(DependenciesNotMetError err);

	public void visit(UnknownCheckError err);

	public void visit(RingNotClosedError err);

	public void visit(ConsecutivePointSameError err);

	public void visit(RingSelfIntError err);

	public void visit(AllPolygonsWrongOrientationError err);

	public void visit(InteriorDisconnectedError err);

	public void visit(NullAreaError err);

	public void visit(TooFewPointsError err);

	public void visit(NormalDeviationError err);

Matthias Betz's avatar
Matthias Betz committed
99
	public void visit(NonPlanarPolygonDistancePlaneError err);
100

Matthias Betz's avatar
Matthias Betz committed
101
	public void visit(PolygonIntersectingRingsError err);
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129

	public void visit(SolidSelfIntError err);

	public void visit(TooFewPolygonsError err);

	public void visit(DuplicatePointError err);

	public void visit(EdgeIntersectionError err);

	public void visit(PointTouchesEdgeError err);

	public void visit(NotCeilingError err);

	public void visit(NotFloorError err);

	public void visit(NotWallError err);

	public void visit(NotGroundError err);

	public void visit(CheckError err);
	
	public void visit(SchematronError err);
	
	public void visit(SurfaceUnfragmentedError err);
	
	public void visit(TinyEdgeError err);

}