GRASS GIS 8 Programmer's Manual
8.5.0dev(2024)-d6dec75dd4
|
Go to the source code of this file.
#define DGL_EDGE_ALLOC_v2 | ( | lattr | ) | (malloc(DGL_EDGE_SIZEOF_v2(lattr))) |
Definition at line 84 of file graph_v2.h.
#define DGL_EDGE_ATTR_PTR_v2 | ( | p | ) | ((p) + DGL_IL_ATTR_v2) |
Definition at line 91 of file graph_v2.h.
#define DGL_EDGE_COST_v2 | ( | p | ) | ((p)[DGL_IL_COST_v2]) |
Definition at line 89 of file graph_v2.h.
#define DGL_EDGE_HEADNODE_ID_v2 | ( | pgrp, | |
pl | |||
) |
Definition at line 92 of file graph_v2.h.
#define DGL_EDGE_HEADNODE_OFFSET_v2 | ( | p | ) | ((p)[DGL_IL_HEAD_OFFSET_v2]) |
Definition at line 86 of file graph_v2.h.
#define DGL_EDGE_ID_v2 | ( | p | ) | ((p)[DGL_IL_ID_v2]) |
Definition at line 90 of file graph_v2.h.
#define DGL_EDGE_SIZEOF_v2 | ( | lattr | ) | (sizeof(dglInt32_t) * DGL_IL_SIZE_v2 + (lattr)) |
Definition at line 80 of file graph_v2.h.
#define DGL_EDGE_STATUS_v2 | ( | p | ) | ((p)[DGL_IL_STATUS_v2]) |
Definition at line 88 of file graph_v2.h.
#define DGL_EDGE_TAILNODE_ID_v2 | ( | pgrp, | |
pl | |||
) |
Definition at line 96 of file graph_v2.h.
#define DGL_EDGE_TAILNODE_OFFSET_v2 | ( | p | ) | ((p)[DGL_IL_TAIL_OFFSET_v2]) |
Definition at line 87 of file graph_v2.h.
#define DGL_EDGE_WSIZE_v2 | ( | lattr | ) | (DGL_EDGE_SIZEOF_v2(lattr) / sizeof(dglInt32_t)) |
Definition at line 82 of file graph_v2.h.
#define DGL_EDGEBUFFER_OFFSET_v2 | ( | pgrp, | |
pl | |||
) | ((dglInt32_t)((dglByte_t *)pl - (dglByte_t *)(pgrp)->pEdgeBuffer)) |
Definition at line 129 of file graph_v2.h.
#define DGL_EDGEBUFFER_SHIFT_v2 | ( | pgrp, | |
o | |||
) | ((dglInt32_t *)((pgrp)->pEdgeBuffer + (o))) |
Definition at line 127 of file graph_v2.h.
#define DGL_EDGESET_ALLOC_v2 | ( | C, | |
lattr | |||
) | (malloc(DGL_EDGESET_SIZEOF_v2(C, lattr))) |
Definition at line 60 of file graph_v2.h.
#define DGL_EDGESET_EDGE_PTR_v2 | ( | pgrp, | |
p, | |||
i | |||
) | DGL_EDGEBUFFER_SHIFT_v2(pgrp, *((p) + DGL_ILA_TOARR_v2 + (i))) |
Definition at line 66 of file graph_v2.h.
#define DGL_EDGESET_EDGEARRAY_PTR_v2 | ( | p | ) | ((p) + DGL_ILA_TOARR_v2) |
Definition at line 65 of file graph_v2.h.
#define DGL_EDGESET_EDGECOUNT_v2 | ( | p | ) | ((p)[DGL_ILA_TOCNT_v2]) |
Definition at line 64 of file graph_v2.h.
#define DGL_EDGESET_REALLOC_v2 | ( | P, | |
C, | |||
lattr | |||
) | (realloc(P, DGL_EDGESET_SIZEOF_v2(C, lattr))) |
Definition at line 61 of file graph_v2.h.
#define DGL_EDGESET_SIZEOF_v2 | ( | C, | |
lattr | |||
) | (sizeof(dglInt32_t) * ((C) + 1)) |
Definition at line 57 of file graph_v2.h.
#define DGL_EDGESET_WSIZE_v2 | ( | C, | |
lattr | |||
) | (DGL_EDGESET_SIZEOF_v2(C, lattr) / sizeof(dglInt32_t)) |
Definition at line 58 of file graph_v2.h.
#define DGL_FOREACH_EDGE_v2 | ( | pgrp, | |
pla, | |||
pl, | |||
il | |||
) |
Definition at line 112 of file graph_v2.h.
#define DGL_FOREACH_NODE_v2 | ( | pgrp, | |
pn | |||
) |
Definition at line 104 of file graph_v2.h.
#define DGL_IL_ATTR_v2 5 |
Definition at line 77 of file graph_v2.h.
#define DGL_IL_COST_v2 3 |
Definition at line 75 of file graph_v2.h.
#define DGL_IL_HEAD_OFFSET_v2 0 |
Definition at line 72 of file graph_v2.h.
#define DGL_IL_ID_v2 4 |
Definition at line 76 of file graph_v2.h.
#define DGL_IL_SIZE_v2 DGL_IL_ATTR_v2 |
Definition at line 78 of file graph_v2.h.
#define DGL_IL_STATUS_v2 2 |
Definition at line 74 of file graph_v2.h.
#define DGL_IL_TAIL_OFFSET_v2 1 |
Definition at line 73 of file graph_v2.h.
#define DGL_ILA_SIZE_v2 1 |
Definition at line 54 of file graph_v2.h.
#define DGL_ILA_TOARR_v2 DGL_ILA_SIZE_v2 |
Definition at line 55 of file graph_v2.h.
#define DGL_ILA_TOCNT_v2 0 |
Definition at line 53 of file graph_v2.h.
#define DGL_IN_ATTR_v2 3 |
Definition at line 36 of file graph_v2.h.
#define DGL_IN_EDGESET_OFFSET_v2 2 |
Definition at line 35 of file graph_v2.h.
#define DGL_IN_NODEID_v2 0 |
Definition at line 33 of file graph_v2.h.
#define DGL_IN_SIZE_v2 DGL_IN_ATTR_v2 |
Definition at line 37 of file graph_v2.h.
#define DGL_IN_STATUS_v2 1 |
Definition at line 34 of file graph_v2.h.
#define DGL_NODE_ALLOC_v2 | ( | nattr | ) | (malloc(DGL_NODE_SIZEOF_v2(nattr))) |
Definition at line 43 of file graph_v2.h.
#define DGL_NODE_ATTR_PTR_v2 | ( | p | ) | ((p) + DGL_IN_ATTR_v2) |
Definition at line 48 of file graph_v2.h.
#define DGL_NODE_EDGESET_OFFSET_v2 | ( | p | ) | ((p)[DGL_IN_EDGESET_OFFSET_v2]) |
Definition at line 47 of file graph_v2.h.
#define DGL_NODE_ID_v2 | ( | p | ) | ((p)[DGL_IN_NODEID_v2]) |
Definition at line 45 of file graph_v2.h.
#define DGL_NODE_SIZEOF_v2 | ( | nattr | ) | (sizeof(dglInt32_t) * DGL_IN_SIZE_v2 + (nattr)) |
Definition at line 39 of file graph_v2.h.
#define DGL_NODE_STATUS_v2 | ( | p | ) | ((p)[DGL_IN_STATUS_v2]) |
Definition at line 46 of file graph_v2.h.
#define DGL_NODE_WSIZE_v2 | ( | nattr | ) | (DGL_NODE_SIZEOF_v2(nattr) / sizeof(dglInt32_t)) |
Definition at line 41 of file graph_v2.h.
#define DGL_NODEBUFFER_OFFSET_v2 | ( | pgrp, | |
p | |||
) | ((dglInt32_t)((dglByte_t *)p - (dglByte_t *)(pgrp)->pNodeBuffer)) |
Definition at line 121 of file graph_v2.h.
#define DGL_NODEBUFFER_SHIFT_v2 | ( | pgrp, | |
o | |||
) | ((dglInt32_t *)((pgrp)->pNodeBuffer + (o))) |
Definition at line 119 of file graph_v2.h.
int dgl_add_edge_V2 | ( | dglGraph_s * | pgraph, |
dglInt32_t | nHead, | ||
dglInt32_t | nTail, | ||
dglInt32_t | nCost, | ||
dglInt32_t | nEdge, | ||
void * | pvHeadAttr, | ||
void * | pvTailAttr, | ||
void * | pvEdgeAttr, | ||
dglInt32_t | nFlags | ||
) |
Referenced by dglAddEdge(), and dglAddEdgeX().
int dgl_add_node_V2 | ( | dglGraph_s * | pgraph, |
dglInt32_t | nId, | ||
void * | pvNodeAttr, | ||
dglInt32_t | nFlags | ||
) |
Referenced by dglAddNode().
int dgl_del_edge_V2 | ( | dglGraph_s * | pgraph, |
dglInt32_t | nId | ||
) |
Referenced by dglDelEdge().
int dgl_del_node_inedge_V2 | ( | dglGraph_s * | pgraph, |
dglInt32_t | nNode, | ||
dglInt32_t | nEdge | ||
) |
int dgl_del_node_outedge_V2 | ( | dglGraph_s * | pgraph, |
dglInt32_t | nNode, | ||
dglInt32_t | nEdge | ||
) |
int dgl_del_node_V2 | ( | dglGraph_s * | pgraph, |
dglInt32_t | nId | ||
) |
Referenced by dglDelNode().
int dgl_depthfirst_spanning_V2 | ( | dglGraph_s * | pgraphIn, |
dglGraph_s * | pgraphOut, | ||
dglInt32_t | nVertex, | ||
void * | pvVisited, | ||
dglSpanClip_fn | fnClip, | ||
void * | pvClipArg | ||
) |
Definition at line 76 of file graph_v2.c.
References DGL_GS_FLAT, dgl_span_depthfirst_spanning_V2_FLAT(), dgl_span_depthfirst_spanning_V2_TREE(), and _dglGraph::Flags.
Referenced by dglDepthComponents(), and dglDepthSpanning().
int dgl_dijkstra_V2 | ( | dglGraph_s * | pgraph, |
dglSPReport_s ** | ppReport, | ||
dglInt32_t * | pDistance, | ||
dglInt32_t | nStart, | ||
dglInt32_t | nDestination, | ||
dglSPClip_fn | fnClip, | ||
void * | pvClipArg, | ||
dglSPCache_s * | pCache | ||
) |
Definition at line 61 of file graph_v2.c.
References dgl_dijkstra_V2_FLAT(), dgl_dijkstra_V2_TREE(), DGL_GS_FLAT, and _dglGraph::Flags.
Referenced by dglShortestDistance(), and dglShortestPath().
int dgl_dijkstra_V2_FLAT | ( | dglGraph_s * | pgraph, |
dglSPReport_s ** | ppReport, | ||
dglInt32_t * | pDistance, | ||
dglInt32_t | nStart, | ||
dglInt32_t | nDestination, | ||
dglSPClip_fn | fnClip, | ||
void * | pvClipArg, | ||
dglSPCache_s * | pCache | ||
) |
Referenced by dgl_dijkstra_V2().
int dgl_dijkstra_V2_TREE | ( | dglGraph_s * | pgraph, |
dglSPReport_s ** | ppReport, | ||
dglInt32_t * | pDistance, | ||
dglInt32_t | nStart, | ||
dglInt32_t | nDestination, | ||
dglSPClip_fn | fnClip, | ||
void * | pvClipArg, | ||
dglSPCache_s * | pCache | ||
) |
Referenced by dgl_dijkstra_V2().
dglInt32_t* dgl_edge_t_first_V2 | ( | dglEdgeTraverser_s * | pT | ) |
Referenced by dglEdge_T_First().
int dgl_edge_t_initialize_V2 | ( | dglGraph_s * | pGraph, |
dglEdgeTraverser_s * | pTraverser, | ||
dglEdgePrioritizer_s * | pEP | ||
) |
Referenced by dglEdge_T_Initialize().
dglInt32_t* dgl_edge_t_next_V2 | ( | dglEdgeTraverser_s * | pT | ) |
Referenced by dglEdge_T_Next().
void dgl_edge_t_release_V2 | ( | dglEdgeTraverser_s * | pTraverser | ) |
Referenced by dglEdge_T_Release().
dglInt32_t* dgl_edgeset_t_first_V2 | ( | dglEdgesetTraverser_s * | pTraverser | ) |
Referenced by dglEdgeset_T_First().
int dgl_edgeset_t_initialize_V2 | ( | dglGraph_s * | pGraph, |
dglEdgesetTraverser_s * | pTraverser, | ||
dglInt32_t * | pnEdgeset | ||
) |
Referenced by dglEdgeset_T_Initialize().
dglInt32_t* dgl_edgeset_t_next_V2 | ( | dglEdgesetTraverser_s * | pTraverser | ) |
Referenced by dglEdgeset_T_Next().
void dgl_edgeset_t_release_V2 | ( | dglEdgesetTraverser_s * | pTraverser | ) |
int dgl_flatten_V2 | ( | dglGraph_s * | pgraph | ) |
Referenced by dglFlatten().
dglInt32_t* dgl_get_edge_V2 | ( | dglGraph_s * | pgraph, |
dglInt32_t | nId | ||
) |
Referenced by dglGetEdge().
dglInt32_t* dgl_get_node_V2 | ( | dglGraph_s * | pgraph, |
dglInt32_t | nId | ||
) |
Referenced by dglEdgeGet_Head(), dglEdgeGet_Tail(), and dglGetNode().
dglInt32_t* dgl_getnode_inedgeset_V2 | ( | dglGraph_s * | pgraph, |
dglInt32_t * | pnode | ||
) |
Referenced by dglNodeGet_InEdgeset().
dglInt32_t* dgl_getnode_outedgeset_V2 | ( | dglGraph_s * | pgraph, |
dglInt32_t * | pnode | ||
) |
Referenced by dglNodeGet_OutEdgeset().
int dgl_initialize_V2 | ( | dglGraph_s * | pgraph | ) |
Definition at line 104 of file graph_v2.c.
References avl_create, DGL_ERR_MemoryExhausted, dglTreeEdgeCompare(), dglTreeGetAllocator(), dglTreeNode2Compare(), _dglGraph::iErrno, NULL, _dglGraph::pEdgeTree, and _dglGraph::pNodeTree.
Referenced by dglInitialize().
int dgl_minimum_spanning_V2 | ( | dglGraph_s * | pgraphIn, |
dglGraph_s * | pgraphOut, | ||
dglInt32_t | nVertex, | ||
dglSpanClip_fn | fnClip, | ||
void * | pvClipArg | ||
) |
Definition at line 90 of file graph_v2.c.
References DGL_GS_FLAT, dgl_span_minimum_spanning_V2_FLAT(), dgl_span_minimum_spanning_V2_TREE(), and _dglGraph::Flags.
Referenced by dglMinimumSpanning().
dglInt32_t* dgl_node_t_find_V2 | ( | dglNodeTraverser_s * | pT, |
dglInt32_t | nId | ||
) |
Referenced by dglNode_T_Find().
dglInt32_t* dgl_node_t_first_V2 | ( | dglNodeTraverser_s * | pT | ) |
Referenced by dglNode_T_First().
int dgl_node_t_initialize_V2 | ( | dglGraph_s * | pGraph, |
dglNodeTraverser_s * | pT | ||
) |
Referenced by dglNode_T_Initialize().
dglInt32_t* dgl_node_t_next_V2 | ( | dglNodeTraverser_s * | pT | ) |
Referenced by dglNode_T_Next().
void dgl_node_t_release_V2 | ( | dglNodeTraverser_s * | pT | ) |
Referenced by dglNode_T_Release().
int dgl_read_V2 | ( | dglGraph_s * | pgraph, |
int | fd, | ||
int | version | ||
) |
Definition at line 238 of file graph_v2.c.
References _dglGraph::aOpaqueSet, _dglGraph::cAlone, _dglGraph::cEdge, _dglGraph::cHead, _dglGraph::cNode, _dglGraph::cTail, DGL_ENDIAN_BIG, DGL_ENDIAN_LITTLE, DGL_ERR_MemoryExhausted, DGL_ERR_Read, dgl_swapInt32Bytes(), dgl_swapInt64Bytes(), dglInitialize(), _dglGraph::Flags, free(), _dglGraph::iEdgeBuffer, _dglGraph::iErrno, _dglGraph::iNodeBuffer, malloc(), _dglGraph::nnCost, NULL, _dglGraph::pEdgeBuffer, and _dglGraph::pNodeBuffer.
Referenced by dglRead().
int dgl_release_V2 | ( | dglGraph_s * | pgraph | ) |
Definition at line 123 of file graph_v2.c.
References avl_destroy, dglTreeEdgeCancel(), dglTreeEdgePri32Cancel(), dglTreeNodeCancel(), dglTreeNodePri32Cancel(), _dglGraph::edgePrioritizer, free(), _dglGraph::iErrno, _dglGraph::nodePrioritizer, _dglGraph::pEdgeBuffer, _dglGraph::pEdgeTree, _dglGraph::pNodeBuffer, _dglGraph::pNodeTree, dglNodePrioritizer_s::pvAVL, and dglEdgePrioritizer_s::pvAVL.
Referenced by dglRelease().
int dgl_sp_cache_initialize_V2 | ( | dglGraph_s * | pgraph, |
dglSPCache_s * | pCache, | ||
dglInt32_t | nStart | ||
) |
Referenced by dglInitializeSPCache().
void dgl_sp_cache_release_V2 | ( | dglGraph_s * | pgraph, |
dglSPCache_s * | pCache | ||
) |
Referenced by dglReleaseSPCache().
int dgl_span_depthfirst_spanning_V2_FLAT | ( | dglGraph_s * | pgraphIn, |
dglGraph_s * | pgraphOut, | ||
dglInt32_t | nVertex, | ||
void * | pvVisited, | ||
dglSpanClip_fn | fnClip, | ||
void * | pvClipArg | ||
) |
Referenced by dgl_depthfirst_spanning_V2().
int dgl_span_depthfirst_spanning_V2_TREE | ( | dglGraph_s * | pgraphIn, |
dglGraph_s * | pgraphOut, | ||
dglInt32_t | nVertex, | ||
void * | pvVisited, | ||
dglSpanClip_fn | fnClip, | ||
void * | pvClipArg | ||
) |
Referenced by dgl_depthfirst_spanning_V2().
int dgl_span_minimum_spanning_V2_FLAT | ( | dglGraph_s * | pgraphIn, |
dglGraph_s * | pgraphOut, | ||
dglInt32_t | nVertex, | ||
dglSpanClip_fn | fnClip, | ||
void * | pvClipArg | ||
) |
Referenced by dgl_minimum_spanning_V2().
int dgl_span_minimum_spanning_V2_TREE | ( | dglGraph_s * | pgraphIn, |
dglGraph_s * | pgraphOut, | ||
dglInt32_t | nVertex, | ||
dglSpanClip_fn | fnClip, | ||
void * | pvClipArg | ||
) |
Referenced by dgl_minimum_spanning_V2().
int dgl_unflatten_V2 | ( | dglGraph_s * | pgraph | ) |
Referenced by dglUnflatten().
int dgl_write_V2 | ( | dglGraph_s * | pgraph, |
int | fd | ||
) |
Definition at line 143 of file graph_v2.c.
References _dglGraph::aOpaqueSet, _dglGraph::cAlone, _dglGraph::cEdge, _dglGraph::cHead, _dglGraph::cNode, _dglGraph::cTail, DGL_ERR_Write, _dglGraph::EdgeAttrSize, _dglGraph::Endian, _dglGraph::iEdgeBuffer, _dglGraph::iErrno, _dglGraph::iNodeBuffer, _dglGraph::nnCost, _dglGraph::NodeAttrSize, _dglGraph::pEdgeBuffer, _dglGraph::pNodeBuffer, and _dglGraph::Version.
Referenced by dglWrite().