public static extern UserTopoUnstrctGeomStruct *UserTopoAddPoints( UserTopoUnstrctGeomStruct *Ud, UserTopoUnstrctGeomPtStruct *Pts, int NumPt, int MergePts, int **CloneMap, int **RealIDMap);
public static extern UserTopoUnstrctGeomStruct *UserTopoAppendUnstrctGeoms( UserTopoUnstrctGeomStruct *UdA, UserTopoUnstrctGeomStruct *UdB, double Eps, int MergePts, int **CloneMap, int **RealIDMap);
public static extern UserTopoUnstrctGeomStruct *UserTopoTrivBndryFilter( UserTopoUnstrctGeomStruct *Ud);
public static extern byte *UserTopoGetCellStrAttr(UserTopoUnstrctGeomStruct *Ud, int CellId, byte *AttrName);
public static extern int UserTopoGetPointAttrThreshold(UserTopoUnstrctGeomStruct *Ud, byte *AttrName, int AttrMinVal, int AttrMaxVal, int **PtIDs);
public static extern UserTopoUnstrctGeomStruct *UserTopoApplyFilterToGrid( UserTopoUnstrctGeomStruct *Ud, int PurgeUnusedPts);
public static extern int UserTopoObjectToId(UserTopoUnstrctGeomStruct *Ud, IPObjectStruct *Cell);
public static extern int UserTopoCellsAdjacentToCell(UserTopoUnstrctGeomStruct *Ud, int CellID, int **EntIDs);
public static extern int UserTopoSetPointStrAttr(UserTopoUnstrctGeomStruct *Ud, int PtId, byte *AttrName, byte *AttrValue);
public static extern int UserTopoSetCellIntAttr(UserTopoUnstrctGeomStruct *Ud, IPObjectStruct *Cell, byte *AttrName, int AttrValue);
public static extern int UserTopoGetCellRealAttrVec(UserTopoUnstrctGeomStruct *Ud, int *CellIdVec, int NumCellId, byte *AttrName, double **AttrValueVec);
public static extern int UserTopoAddCell(UserTopoUnstrctGeomStruct *Ud, int *PtIdVec, int PtIdVecLen, IPObjectStruct *Cell, int *CellID);
public static extern void UserTopoSetPoints(UserTopoUnstrctGeomStruct *Ud, UserTopoUnstrctGeomPtStruct *Pts, int NumPt, int MergePts, int **IndxMap, int **RealIDMap);
public static extern double UserTopoGetCellRealAttr(UserTopoUnstrctGeomStruct *Ud, int CellId, byte *AttrName);
public static extern byte *UserTopoGetPointStrAttr(UserTopoUnstrctGeomStruct *Ud, int PtId, byte *AttrName);
public static extern void UserTopoUnstrctGeomFree(UserTopoUnstrctGeomStruct *Ud);
public static extern IPObjectStruct *UserTopoIdToObject(UserTopoUnstrctGeomStruct *Ud, int Id);
public static extern int UserTopoModifyPoint(UserTopoUnstrctGeomStruct *Ud, int PtId, UserTopoUnstrctGeomPtStruct *Pt);
public static extern int UserTopoPtsOfCell(UserTopoUnstrctGeomStruct *Ud, int EntId, int **PtIds);
public static extern int UserTopoSetPointStrAttrVec(UserTopoUnstrctGeomStruct *Ud, int *PtIdVec, int NumPtId, byte *AttrName, byte **AttrValueVec);
public static extern int UserTopoAllEntitiesWithPoint(UserTopoUnstrctGeomStruct *Ud, int PtId, int **EntIds);
public static extern int UserTopoSetCellIntAttrVec(UserTopoUnstrctGeomStruct *Ud, int *CellIdVec, int NumCellId, byte *AttrName, int *AttrValueVec);
public static extern int UserTopoNumOfEntOfType(UserTopoUnstrctGeomStruct *Ud, IPObjStructType Type);