-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathTLMultiCoordPolygon.c
56 lines (44 loc) · 2.08 KB
/
TLMultiCoordPolygon.c
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
48
49
50
51
52
53
54
55
56
/*
* TLMultiCoordPolygon.c
* Mercatalog
*
* Created by Nathan Vander Wilt on 7/1/08.
* Copyright 2008 Calf Trail Software, LLC. All rights reserved.
*
*/
#include "TLMultiCoordPolygon.h"
#include "TLPointerArray.h"
static const void* TLMultiCoordPolygonRetainCallback(const void* item) {
return TLCoordPolygonRetain((TLCoordPolygonRef)item);
}
static void TLMultiCoordPolygonReleaseCallback(const void* item) {
return TLCoordPolygonRelease((TLCoordPolygonRef)item);
}
TLMutableMultiCoordPolygonRef TLMultiCoordPolygonCreateMutable(tl_uint_t countLimit) {
return (TLMutableMultiCoordPolygonRef)TLPointerArrayCreateMutable(countLimit,
TLMultiCoordPolygonRetainCallback,
TLMultiCoordPolygonReleaseCallback);
}
TLMultiCoordPolygonRef TLMultiCoordPolygonCreateFromPolygon(TLCoordPolygonRef singleCoordPolygon) {
TLMutableMultiCoordPolygonRef multiCoordPolygon = TLMultiCoordPolygonCreateMutable(1);
TLMultiCoordPolygonAppendPolygon(multiCoordPolygon, singleCoordPolygon);
return multiCoordPolygon;
}
TLMultiCoordPolygonRef TLMultiCoordPolygonRetain(TLMultiCoordPolygonRef multiCoordPoly) {
return (TLMultiCoordPolygonRef)TLPointerArrayRetain((TLPointerArrayRef)multiCoordPoly);
}
void TLMultiCoordPolygonRelease(TLMultiCoordPolygonRef multiCoordPoly) {
TLPointerArrayRelease((TLPointerArrayRef)multiCoordPoly);
}
TLMultiCoordPolygonRef TLMultiCoordPolygonCreateCopy(TLMultiCoordPolygonRef multiCoordPoly) {
return (TLMultiCoordPolygonRef)TLPointerArrayCreateCopy((TLPointerArrayRef)multiCoordPoly);
}
tl_uint_t TLMultiCoordPolygonGetCount(TLMultiCoordPolygonRef multiCoordPoly) {
return TLPointerArrayGetCount((TLPointerArrayRef)multiCoordPoly);
}
TLCoordPolygonRef TLMultiCoordPolygonGetPolygon(TLMultiCoordPolygonRef multiCoordPoly, tl_uint_t polygonIndex) {
return (TLCoordPolygonRef)TLPointerArrayGetItemAtIndex((TLPointerArrayRef)multiCoordPoly, polygonIndex);
}
void TLMultiCoordPolygonAppendPolygon(TLMutableMultiCoordPolygonRef multiCoordPoly, TLCoordPolygonRef coordPoly) {
TLPointerArrayAppendItem((TLMutablePointerArrayRef)multiCoordPoly, coordPoly);
}