1 // NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
2 // Copyright (C) 2010 Winch Gate Property Limited
4 // This program is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU Affero General Public License as
6 // published by the Free Software Foundation, either version 3 of the
7 // License, or (at your option) any later version.
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU Affero General Public License for more details.
14 // You should have received a copy of the GNU Affero General Public License
15 // along with this program. If not, see <http://www.gnu.org/licenses/>.
18 #include "nel/ligo/ligo_error.h"
23 // ***************************************************************************
25 CLigoError::CLigoError()
30 // ***************************************************************************
32 void CLigoError::pushVertexError (TError code
, uint id
, uint edge
)
34 // Check if this vertex exist in the error list
36 for (vertex
=0; vertex
<_VertexError
.size(); vertex
++)
38 if (_VertexError
[vertex
].Id
== id
)
40 _VertexError
[vertex
] = CVertex (code
, id
, edge
);
46 if (vertex
== _VertexError
.size())
49 _VertexError
.push_back (CVertex (code
, id
, edge
));
53 // ***************************************************************************
55 uint
CLigoError::numVertexError () const
57 return (uint
)_VertexError
.size ();
60 // ***************************************************************************
62 CLigoError::TError
CLigoError::getVertexError (uint error
, uint
&id
, uint
&edge
) const
64 const CVertex
&vertex
= _VertexError
[error
];
70 // ***************************************************************************
72 void CLigoError::clear ()
75 _VertexError
.clear ();
78 // ***************************************************************************
80 const char* CLigoError::_StringError
[CLigoError::ErrorCount
]=
82 "No error", // NoError
83 "No vertex in the edge list", // NoEdgeVertices
84 "Opened edges detected", // OpenedEdge
85 "Multiple edge on the boundary",// MultipleEdge
86 "Vertex list invalid. One vertex should be a corner", // VertexList
87 "The vertex has not been inserted in the edge list", // NotInserted
88 "The vertex has been inserted in the edge list", // Inserted
89 "Flat zone, all vertices are in the same corner", // FlatZone
90 "The zone must have 4 edges to define a material", // MustHave4Edges
91 "A edge of the zone is not symetrical", // NotSymetrical
92 "Not the same number of vertex", // NotSameVerticesNumber
93 "Some vertices are not the same", // NotSameVertex
94 "No corner found", // NoCornerFound
95 "A edge has two times the same corner", // TwoCornerVertices
96 "A corner is missing in this edge", // CornerIsMissing
97 "A boundary vertex is used by multiple edges", // VertexAlreadyUsed
98 "Unknown error", // UnknownError
101 // ***************************************************************************
103 const char* CLigoError::getStringError (TError errorCode
)
105 if (errorCode
<=ErrorCount
)
107 return _StringError
[errorCode
];
111 return _StringError
[UnknownError
];
115 // ***************************************************************************