blob: d59728e42d7813032d40136f1567769b4f9c51db (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
#include <glib/gmem.h>
#include "livarot/sweep-tree.h"
#include "livarot/sweep-tree-list.h"
SweepTreeList::SweepTreeList(int s) :
nbTree(0),
maxTree(s),
trees((SweepTree *) g_malloc(s * sizeof(SweepTree))),
racine(NULL)
{
/* FIXME: Use new[] for trees initializer above, but watch out for bad things happening when
* SweepTree::~SweepTree is called.
*/
}
SweepTreeList::~SweepTreeList()
{
g_free(trees);
trees = NULL;
}
SweepTree *SweepTreeList::add(Shape *iSrc, int iBord, int iWeight, int iStartPoint, Shape *iDst)
{
if (nbTree >= maxTree) {
return NULL;
}
int const n = nbTree++;
trees[n].MakeNew(iSrc, iBord, iWeight, iStartPoint);
return trees + n;
}
/*
Local Variables:
mode:c++
c-file-style:"stroustrup"
c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
indent-tabs-mode:nil
fill-column:99
End:
*/
// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :
|