HƯỚNG MỞ RỘNG ĐỀ TÀI

Một phần của tài liệu XÂY DỰNG THƯ VIỆN PHẦN MỀM HỖ TRỢ HỆ THỐNG THÔNG TIN ĐNA LÝ GIS 3D DỰA TRÊN CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG BẰNG NGÔN NGỮ C++ (Trang 94)

Luận văn tốt nghiệp GVHH: Nguyễn Hữu Hải.

Thư viện Tính tốn và Trình diễn Lưới tam giác khơng đều Trang 84

T

ÀII LLIIỆỆUU TTHHAMAM KKHHẢO O

[1] Nguyễn Ngô Bảo Trân. Xây dựng metadata và đặc tả các ràng buộc toàn vẹn. [2] R.G.G Cartel & Douglas Barry (1997). The Object Database Standard ODMG

2.0. Morgan Kaufmann Publishers, Inc.

[3] Dave Shreiner & Ed Angel & Vicki Shreiner (2000). An Interactive Introduction

to OpenGL Programming.

[4] Microsoft Developer Network (2001). Microsoft, Corp.

[5] Versant Developers (2002). Versant C++ Reference Manual & Versant C++

Usage Manual. Versant, Corp.

[6] Ibrahim Kamel &Christos Faloutsos (1994). Hilbert R-Tree: An improve R_Tree

using fractals. 4-9.

[7] Stefan Berchtold & Daniel A.Keim & Hans-Peter Kriegel (1996): The X-Tree: An

index structure for high-dimensional data. 1-12.

[8] Timos Sellis & Nick Roussopoulos & Christos Faloutsos. The R+_Tree: A dynamic

index for multi-dimensional objects. 1-10.

[9] Micheal F.Worboys (1995). GIS A Computing Perspective. Taylor & Francis Inc. [10] http://mcraefamily.org/MathHelp

P PHHỤ LLỤỤCC AA:: HƯỚỚNNG G DDẪN N SSỬ DDỤNNGG DDMMLL AAPPII.. #define TIN_ROOT 0 #define TIN_VERTEX 1 #define TIN_TRIANGLE 2 #define TIN_CONTAINER 3 #define TIN_FILLSTYLE 4

Database Transaction API

tinOpenDB()

HTDB tinOpenDB(LPTSTR database);

Mở CSDL có tên trong database. Nếu database là NULL, hàm sẽ tạo một database ảo trên bộ nhớ - virtual database. Các đối tượng của virtual database

không được lưu và sẽ bị mất khi process gọi kết thúc. Hàm này cần phải được gọi trước tất các các hàm API khác.

Kết quả của hàm trả về handle của database vừa mở. Bạn có thể mở cùng lúc nhiều database, nhưng chỉ có một database được hoạt động tại một thời điểm duy nhất. Nghĩa là, khi bạn mở một database mới thì database hiện tại sẽ bị deactive, khi đó việc truy cập các đối tượng thuộc database này sẽ trả về kết quả không xác

định trước.

Để active một database nào đó, dùng hàm tinActiveDB().

tinCloseDB()

void tinCloseDB(HTDB hDB);

Đóng database được mở trước đó bằng tinOpenDB().

tinCloseAllDB()

void tinCloseAllDB();

Đóng tất cả các database đang mở.

tinOpenedDBCount()

int tinOpenedDBCount();

Trả về số database đang được mở (kể cả virtual database)

tinGetOpenedDB()

HTDB tinGetOpenedDB(int index);

Trả về handle của database thứ index đã được mở.

tinGetDBName()

LPSTR tinGetDBName(HTDB hDB, LPSTR name);

Lấy tên của database có handle là hDB. Nếu hDB là NULL thì trả về tên của active database.

Luận văn tốt nghiệp GVHH: Nguyễn Hữu Hải.

tinIsPersistentDB()

bool tinIsPersistentDB(HTDB hDB);

Kiểm tra tính persistent của database. Trả về true nếu hDB là handle của một persistent database, fasle nếu ngược lại. Nếu hDB là NULL, hàm sẽ kiểm tra tính persistent của active database.

tinActiveDB()

void tinActiveDB(HTDB hDB);

Kích hoạt là một database đã bị deactive trước đó bởi hàm tinOpenDB().

tinGetActiveDB()

HTDB tinGetActiveDB();

Trả về handle của database “tích cực”.

tinBeginTransaction()

void tinBeginTransaction(HTDB hDB);

Bắt đầu một short-transaction.

tinCommit()

void tinCommit(HTDB hDB);

Kết thúc và chấp nhận những thay đổi trong transaction trước đó.

tinRollback()

void tinRollback(HTDB hDB);

Kết thúc và hủy bỏ những thay đổi trong transaction trước đó.

tinCount()

int tinCount();

Trả về số lượng TIN trong cơ sở dữ liệu active.

tinGet()

HTTin tinGet(int index);

Trả về handle của Tin thứ index trong active database.

tinGetAll()

int tinGetAll(HTTin buffer[], int bufsize);

Điền các handle của tất cả Tin trong active database vào buffer, bufsize cho biết

kích thước tối đa của buffer. Nếu bufsize nhỏ hơn số lượng Tin thì chỉ trả về handle của bufsize Tin.

Hàm trả về số lượng handle đã điền vào buffer.

tinFind()

HTTin tinFind(LPTSTR tin_name);

Trả về Tin có tên là tin_name. Nếu khơng có Tin nào thỏa, trả về NULL.

tinNextObjID()

int tinNextObjID();

Trả về giá tri nguyên xác định ID của đối tượng được tạo ra tiếp theo.

Object Manipulation API

tinNewVertex()

HTVertex tinNewVertex(real x , real y, real z);

Tạo mới một đối tượng transient đỉnh có tọa độ (x, y, z).

Để thêm đỉnh vào Tin dùng hàm tinAddVertex().

tinNewTriangle()

HTTriangle tinNewTriangle(HTVertex, HTVertex, HTVertex);

Tạo mới một đối tượng transient là tam giác có ba đỉnh xác định bởi 3 handle đến 3 đối tượng đỉnh.

tinNewTin()

HTTin tinNewTin(LPTSTR name, int persistent);

Tạo mới một Tin có tên là name. Nếu persistent = 1, đối tượng tạo ra là

persistent, ngược là transient.

tinReleaseObj()

void tinReleaseObj(HTObj hObj);

Xóa và giải phóng đối tượng có handle là hObj. Bạn khơng nên gọi hàm này để xóa các đối tượng persistent là đỉnh hay tam giác. Vì điều này có thể dẫn đến việc mất tính nhất qn dữ liệu.

Để xóa đỉnh, tam giác của một Tin nên dùng hàm tinRemoveVertex(),

tinRemoveTriangle().

tinGetProp()

bool tinGetProp(HTObj hObj, int propname, void* wparam, int lparam);

Đọc thuộc tính propname của đối tượng hObj. Hàm trả về 1 nếu thành cơng, 0

nếu có lỗi.

Giá trị Propname, trị trả về và kiểu của wparam, lparam được qui định theo bảng sau.

Trị xuất wparam lparam w

Propname

T_OBJID ID của đối tượng. [out] int*

T_OWNER Tin chứa đối tượng. [out] HTTin*

T_TAG giá trị tag. [out] int* 9

T_PERSISTENT persistent hay không. [out] int*

T_OBJ_TYPE loại của đối tượng. [out] int*

T_VERTEX_X tọa độ x của đỉnh. [out] float* 9

T_VERTEX_Y tọa độ y của đỉnh. [out] float* 9

T_VERTEX_Z tọa độ z của đỉnh. [out] float* 9

T_VERTEX_COLOR giá trị màu của đỉnh. [out] int* 9

T_VERTEX_TRIANGLE tam giác qua đỉnh. [out] HTTriangle* [in] int: chỉ số tam giác (0…n)

Luận văn tốt nghiệp GVHH: Nguyễn Hữu Hải.

T_TRI_VERTEX đỉnh của tam giác. [out] HTVertex* [in] int: chỉ số (0,1,2)

T_TRI_FILLSTYLE mẫu tô của tam giác. [out] HTFS* 9

T_TRI_FILLCOLOR màu tô của tam giác. [out] int* 9

T_TRI_LINESTYLE kiểu đường của cạnh. [out] int* [in] int: chỉ số cạnh (0,1,2). 9

T_TRI_LINECOLOR màu của đường. [out] int* [in] int: chỉ số cạnh (0,1,2). 9

T_TRI_LINEWIDTH độ rộng đường. [out] int* [in] int: chỉ số cạnh (0,1,2). 9

T_TIN_VERTEX đỉnh thuộc Tin. [out] HTVertex* [in] int: chỉ số đỉnh (0…n).

T_TIN_VERTEX_CNT số đỉnh trong Tin. [out] int*

T_TIN_TRIANGLE tam giác thuộc Tin [out] HTTriangle* [in] int: chỉ số tam giác (0…n).

T_TIN_TRIANGLE_CNT số tam giác trong Tin. [out] int*

T_TIN_NAME tên của Tin. [out] char* 9

T_TIN_MAX_EDGELEN giá trị cạnh dài nhất. [out] real*

T_FS_NAME tên của mẫu tô. [out] char* 9

T_FS_DATA dữ liệu mẫu tô. [out] int[32] 9

T_FS_DATA_AT_INDEX dữ liệu mẫu tô. [out] int* [in] int: chỉ số dữ liệu (0…31) 9

T_FS_ACTIVE kiểm tra mẫu tô hiện tại. [out] int*

W : writable – xác định thuộc tính có thể thiết lập giá trị. tinSetProp()

bool tinSetProp(HTObj tinobj, int propname, void* wparam, int

lparam);

Thiết lập giá trị cho thuộc tính writable có tên là propname. Xem hàm tinGetProp() để có các giá trị của propname.

tinCompare()

int tinCompare(HTObj hObjA, HTObj hObjB);

So sánh hai đối tượng theo nội dung của chúng. Hàm trả về 0 nếu hObjA == hObjB. Lớn hơn 0, hObjA > hObjB, và nhỏ hơn 0 khi hObjA < hObjB.

Đối với đỉnh, tam giác chỉ so sánh bằng và so sánh khác là có ý nghĩa. Hai đỉnh

bằng nhau khi chúng có trùng tọa độ. Hai tam giác bằng nhau khi chúng có cùng ba đỉnh theo cùng một thứ tự.

Đối với Tin, chúng được so sánh theo tên.

Còn với tất cả các đối tượng khác, phép so sánh là vô nghĩa.

tinIsPersistent()

bool tinIsPersistent(HTObj hObj);

Trả về true nếu hObj là handle của một đối tượng persistent. Ngược lại là false.

tinGetObjType()

int tinGetObjType(HTObj hObj);

Trả về loại đối tượng xác định bởi hObj. Có 4 loại đối tượng sau: TIN_VERTEX, TIN_TRIANGLE, TIN_CONTAINER, TIN_FILLSTYLE.

tinGetObjID()

int tinGetObjID(HTObj hObj);

Trả về ID của đối tượng xác định bởi hObj.

tinGetTag()

int tinGetTag(HTObj hObj);

Trả về giá trị nguyên 32 bit do người dùng thiết lập của đối tượng hObj.

tinSetTag()

void tinSetTag(HTObj hObj,int value);

Thiết lập giá trị tag cho đối tượng hObj thành value. Giá trị tag không được lưu

trữ nên khi đối tượng được nạp lên bộ nhớ, tag được thiết lập lại 0.

tinGetUserData()

int tinGetUserData(HTObj hObj);

Đọc giá trị nguyên 32 bit chứa dữ liệu người dùng định nghĩa. Giá trị này là thuộc

tính transient.

tinSetUserData()

void tinSetUserData(HTObj hObj,int value);

Thiết lập giá trị chứa dữ liệu người dùng cho đối tượing hObj.

tinGetOwner()

HTTin tinGetOwner(HTObj hObj);

Trả về handle đối tượng Tin chứa đối tượng hObj. NULL nếu hObj không thuộc Tin nào.

tinGetMBR()

realptr tinGetMBR(HTObj hObj, realptr mbr);

Trả về vùng không gian nhỏ nhất bao đối tượng hObj (Minimum Bounding Region).

mbr là con trỏ đến mảng 6 phần tử kiểu real được điền giá trị theo thứ tự xmin,

ymin, zmin, xmaz, ymax, zmax. Hàm trả về mbr.

tinIsTriangle()

bool tinIsTriangle(HTObj hObj);

Trả về true nếu hObj là đối tượng tam giác.

tinIsVertex()

bool tinIsVertex(HTObj hObj);

Trả về true nếu hObj là đối tượng đỉnh.

tinIsTin()

bool tinIsTin(HTObj hObj);

Trả về true nếu hObj là đối tượng Tin.

tinIsObj()

bool tinIsObj(HTObj hObj);

Trả về true nếu hObj là đối tượng hợp lệ.

tinFindObj()

Luận văn tốt nghiệp GVHH: Nguyễn Hữu Hải.

Trả về handle của đối tượng có ID chỉ định trong objID. NULL nếu tìm thất bại. Hàm này chỉ dùng cho CSDL persistent.

tinCreateFillStyle()

HTFS tinCreateFillStyle(LPTSTR StyleName);

Tạo mới một mẫu tơ có tên trong StyleName. Tên các mẫu tơ khơng được trùng nhau. Hàm trả về handle của mẫu tô nếu thành cơng.

tinDeleteFillStyle()

void tinDeleteFillStyle(HTFS hStyle);

Xóa mẫu tơ hSyle. Bạn khơng thể xóa mẫu tơ mặc định. Xem tinGetDefaultFillStyle() để lấy mẫu tô mặc định.

tinGetDefaultFillStyle()

HTFS tinGetDefaultFillStyle(HTTin hTin);

Trả về handle của mẫu tô mặc định của đối tượng hTin. Mẫu tô mặc định là mẫu tô được áp dụng cho các tam giác trong Tin mà chưa được thiết lập mẫu tô mới.

tinGetFillStyle()

HTFS tinGetFillStyle(LPTSTR StyleName);

Trả về handle của mẫu tơ có tên là StyleName. NULL nếu tìm thất bại.

tinGetFSName()

LPTSTR tinGetFSName(HTFS hStyle, LPTSTR name);

Hàm lấy tên của mẫu tơ. Name là con trỏ đến vùng đệm. Kích thước của vùng đệm phải đủ lớn để chứa tên mẫu tô.

Hàm trả về name.

tinSetFSName()

void tinSetFSName(HTFS hStyle, LPTSTR newName);

Thiết lập tên cho mẫu tô hStyle.

tinGetFSPattern()

LPSTR tinGetFSPattern(HTFS hStyle, LPSTR pattern);

Lấy 32 byte dữ liệu của mẫu tô.

tinSetFSPattern()

void tinSetFSPattern(HTFS hStyle, LPSTR newPattern);

Thiết lập 32 byte của mẫu tô.

tinGetFillStyleCount()

int tinGetFillStyleCount();

Trả về tổng số kiểu tô trong CSDL.

tinGetFillSyles()

void tinGetFillStyles(HTFS* styles);

Lấy handle của tất cả các kiểu tô.

tinGetVertexCoord()

realptr tinGetVertexCoord(HTVertex hVertex, realptr xyz);

Lấy tọa độ của đối tượng đỉnh hVertex, xyz là buffer chứa 3 phần tử real là tọa độ

đỉnh.

Giá trị tọa độ đỉnh ảnh hưởng bởi các phép ánh xạ tọa độ. Xem tinMapEnable().

tinGetVertexCoordEx()

void tinGetVertexCoordEx(HTVertex hVertex[],LPREAL xyz,int count)

Lấy tọa độ của count đỉnh trong danh sác hVertex trả về trong xyz.

tinSetVertexCoord()

void tinSetVertexCoord(HTVertex hVertex, realptr xyz);

Thay đổi tọa độ của đối tượng đỉnh hVertex.

Giá trị tọa độ bị ảnh hưởng bởi các phép ánh xạ tọa độ. Xem tinMapEnable().

tinGetVertexColor()

int tinGetVertexColor(HTVertex hVertex);

Trả về giá trị màu của đỉnh theo dạng RGBA, R là LSB.

tinSetVertexColor()

void tinSetVertexColor(HTVertex hVertex, int color);

Thiết lập giá trị màu cho đỉnh. Color dạng RGBA, R là LSB.

tinGetRefTriangleCount()

int tinGetRefTriangleCount(HTVertex hVertex);

Trả về số tam giác có đỉnh là hVertex.

tinGetRefTriangle()

HTTriangle tinGetRefTriangle(HTVertex hVertex, int index);

Trả về tam giác thứ index có đỉnh là hVertex.

tinGetRefTriangles()

void tinGetRefTriangles(HTVertex hVertex, HTTriangle Buffer[]);

Trả về tất các các tam giác có đỉnh là hVertex.

tinIsRefTriangleOf()

bool tinIsRefTriangleOf(HTVertex hVertex, HTTriangle hTriangle);

Trả về true nếu hVertex là đỉnh của tam giác hTriangle.

#define X_AXIS 0 #define Y_AXIS 1 #define Z_AXIS 2 #define AD_NORMAL 1 #define AD_REVERSE -1 #define MAP_ABSOLUTE 1 #define MAP_RELATIVE 0

Luận văn tốt nghiệp GVHH: Nguyễn Hữu Hải.

tinMapEnable()

void tinMapEnable(bool enabled);

Bật/tắt các phép ánh xạ.

tinIsMapEnabled()

bool tinIsMapEnabled();

Trả về true, nếu phép ánh xạ được bật.

tinMapReset()

void tinMapReset();

Thiết lập bảng tham số ánh xạ về hệ tọa độ chuNn.

tinMapAxisOrder()

void tinMapAxisOrder(int newX, int newY, int newZ, int abs_map);

Thay đổi thứ tự trục.

tinMapAxisDirection()

void tinMapAxisDirection(int dirX, int dirY, int dirZ, int

abs_map);

Thay đổi hướng của trục tọa độ.

tinMapAxisOrigin()

void tinMapAxisOrigin(real orgX, real orgY, real orgZ, int

abs_map);

Tịnh tiến gốc tọa độ.

tinMapCoordinate()

void tinMapCoordinate(int* AxisOrder, real* Origin, int*

AxisDir, int abs_map);

Thực hiện tổng hợp ba hàm map tọa độ trên.

tinMapSave()

pointer tinMapSave();

Sao chép bảng ánh xạ hiện hành, hàm dùng cho tinMapRestore().

tinMapRestore()

void tinMapRestore(pointer pMap);

Khôi phục bảng ánh xạ từ chứa trong pMap.

tinMap()

realptr tinMap(real* xyz);

Ánh xạ tọa độ trong xyz sang hệ tọa độ mới.

tinUnmap()

realptr tinUnmap(real* xyz);

Thực hiện phép ánh xạ ngược.

/* CDBTinTriangle flatting functions */

tinGetTriangleVertices( )

void tinGetTriangleVertices(HTTriangle triangle, HTVertex* abc);

Trả về 3 handle của 3 đỉnh tam giác có handle là triangle

tinGetTriangleNormVector( )

realptr tinGetTriangleNormVector(HTTriangle triangle, realptr xyz);

Trả về con trỏ kiểu float đến tọa độ của pháp vector của tam giác có handle là triangle.

tinGetTriangleFillStyle( )

HTFS tinGetTriangleFillStyle(HTTriangle triangle);

Trả về kiểu tơ của tam giác có handle là triangle.

tinSetTriangleFaceDirection( )

int tinSetTriangleFaceDirection(int face);

Thiết lập hướng của mặt phẳng tam giác trên Tin. FACE_UP: hướng của mặt phẳng hướng lên.

FACE_DOWN: hướng của mặt phẳng hướng xuống.

FACE_USER: hướng của tam giác phụ thuộc vào trình tự đỉnh.

tinGetTriangleFaceDirection( )

int tinGetTriangleFaceDirection(HTTriangle hTriangle=0);

Lấy hướng của mặt phẳng tam giác hTriangle. Giá trị hướng của mặt phẳng tam giác trên Tin thường được dùng để tính thể tích của tam giác đó.

tinGetfaceUpVector( )

void tinGetFaceUpVector(real* faceup, double& cos_oa);

tinSetFaceUpVector( )

void tinSetFaceUpVector(real* faceup, double OpenAngle, bool

angle_in_degree=false);

Query Function

tinQRSize( )

int tinQRSize(HTQuery qr);

Trả về số lượng đối tượng truy vấn được trong truy vấn qr.

tinQRGet( )

HTObj tinQRGet(HTQuery qr, int index);

Trả về handle của đối tượng thứ index trong truy vấn qr.

tinQRRelease( )

Luận văn tốt nghiệp GVHH: Nguyễn Hữu Hải.

Hủy bỏ kết quả truy vấn của qr. Sau khi gọi tinQRRelease thì qr khơng cịn chứa một đối tuợng dữ liệu nào nữa.

tinSelectTriangleFrom( )

HTQuery tinSelectTriangleFrom(HTTin tin, HTQuery vertices, int tag = T_QUERY_ANYTAG);

Truy vấn những tam giác có đỉnh nằm trong tập đỉnh của một truy vấn đỉnh trước

đó. Nghĩa là đã truy vấn được một tập đỉnh vertices rồi, chúng ta truy vấn các tam

giác có đỉnh nằm trong tập vertices này. Tham số tag dùng để chọn những tam giác có đánh dấu hay khơng, tag nhận giá trị 1 hoặc 0. Mặc định chọn mọi tam

giác không quan tâm đến giá trị của tag. Nếu không truy vấn được tam giác nào

thì trả về NULL.

tinSelectTriangle( )

HTQuery tinSelectTriangle(HTTin tin, real* xyz1, real* xyz2, int tag = T_QUERY_ANYTAG);

Truy vấn mọi tam giác của TIN nằm bên trong một vùng được định nghĩa bởi hộp (xyz1, xyz2). Tham số tag dùng để chọn những tam giác có đánh dấu hay khơng, tag nhận giá trị 1 hoặc 0. Mặc định chọn mọi tam giác không quan tâm đến giá trị của tag. Nếu khơng truy vấn được tam giác nào thì trả về NULL.

tinSelectVertex( )

HTQuery tinSelectVertex(HTTin tin, real* xyz1, real* xyz2,

int tag = T_QUERY_ANYTAG);

Truy vấn mọi đỉnh của TIN nằm bên trong một hình hộp xác định bởi (xyz1, xyz2). Tham số tag dùng để chọn những đỉnh có đánh dấu hay khơng, tag nhận giá trị 1 hoặc 0. Mặc định chọn mọi đỉnh, không quan tâm đến giá trị của tag. Nếu

không truy vấn được đỉnh nào thì trả về NULL.

tinRegionQuery( )

HTQuery tinRegionQuery(HTTin tin, int objtype, real mbr[6], int tag = T_QUERY_ANYTAG);

Truy vấn đối tượng có kiểu objtype trên TIN có handle tin thỏa mãn điều kiện nằm bên trong một vùng Region được định nghĩa là một hình hộp chữ nhật mbr. Tham số tag dùng để chọn những đối tượng có đánh dấu hay khơng, tag nhận giá trị 1 hoặc 0. Mặc định chọn mọi đối tượng, không quan tâm đến giá trị của tag.

Nếu không truy vấn được đối tượng dữ liệu nào thì trả về NULL.

TQueryConditionProc

typedef bool (__stdcall* TQueryConditionProc)(real

region[6],void* param);

Định nghĩa macro cho hàm điều kiện dùng để truy vấn đối tượng theo điều kiện

này. Hàm này đánh giá xem một hộp bao đối tuợng có giao với vùng region hay khơng.

tinConditionQuery( )

HTQuery tinConditionQuery(HTTin tin, int objtype,

TQueryConditionProc test_proc, void* param, int tag = T_QUERY_ANYTAG);

Truy vấn các đối tượng có kiểu objtype trên tin thỏa mãn điều kiện của hàm test_proc. Tham số tag dùng để chọn những đối tượng có đánh dấu hay khơng, tag nhận giá trị 1 hoặc 0. Mặc định chọn mọi đối tượng không quan tâm đến giá trị của tag. Nếu không truy vấn được đối tượng dữ liệu nào thì trả về NULL.

Error Handling Functions

tinGetErrorNo( )

int tinGetErrorNo(HError E);

Trả về số hiệu lỗi của lỗi E.

tinGetErrorMsg( )

LPTSTR tinGetErrorMsg(HError E);

Trả về thông báo lỗi của lỗi E.

tinGetLastError( )

int tinGetLastError(HError* E);

Trả về số hiệu lỗi của lỗi E cuối cùng.

tinRegisterErrorProc()

void tinRegisterErrorProc(LPERRORPROC proc)

Utility Functions

tinCreateList( )

HTObjList tinCreateList();

Tạo mới một danh sách. Trả về handle của danh sách nếu tạo thành công. Ngược lại trả về false.

tinDeleteList( )

void tinDeleteList(HTObjList hList);

Hủy đối tượng danh sách.

tinListSize( )

int tinListSize(HTObjList hList);

trả về số lượng phần tử trong danh sách.

tinListElement( )

HTObj tinListElement(HTObjList hList, int index);

Trả về handle của phần tử thứ index của danh sách hList.

Luận văn tốt nghiệp GVHH: Nguyễn Hữu Hải.

void tinListAdd(HTObjList hList, HTObj element);

thêm một phần tử có handle là element vào cuối danh sách hList.

tinListInsert( )

void tinListInsert(HTObjList hList, int index, HTObj element);

Chèn một phần tử có handle là element vào vị trí thứ index của danh sách hList.

tinListRemove( )

void tinListRemove(HTObjList hList, int index);

Loại bỏ phần tử thứ index ra khỏi danh sách hList.

tinListPos( )

int tinListPos(HTObjList hList, HTObj element);

Trả về vị trí của phần tử element trong danh sách hList.

tinListAppendWithList( )

void tinListAppendWithList(HTObjList hList, HTObjList srcList);

Chèn mọi phần tử trong srcList vào cuối danh sách hList.

tinListAppendWithQuery( )

void tinListAppendWithQuery(HTObjList hList, HTQuery srcQuery);

Chèn mọi phần tử truy vấn được trong srcQuery vào cuối danh sách hList.

tinCreateSet( )

HTObjSet tinCreateSet();

Một phần của tài liệu XÂY DỰNG THƯ VIỆN PHẦN MỀM HỖ TRỢ HỆ THỐNG THÔNG TIN ĐNA LÝ GIS 3D DỰA TRÊN CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG BẰNG NGÔN NGỮ C++ (Trang 94)

Tải bản đầy đủ (PDF)

(117 trang)