Class GeometricGraph
A geometric graph.
Inheritance
Inherited Members
Namespace: System.Dynamic.ExpandoObject
Assembly: cs.temp.dll.dll
Syntax
public class GeometricGraph
Constructors
GeometricGraph(MemoryMap, GeometricGraphProfile, Int32)
Creates a new geometric graph.
Declaration
public GeometricGraph(MemoryMap map, GeometricGraphProfile profile, int edgeDataSize)
Parameters
|
MemoryMap
map
|
|
GeometricGraphProfile
profile
|
|
System.Int32
edgeDataSize
|
GeometricGraph(MemoryMap, GeometricGraphProfile, Int32, Int32)
Creates a new geometric graph.
Declaration
public GeometricGraph(MemoryMap map, GeometricGraphProfile profile, int edgeDataSize, int size)
Parameters
|
MemoryMap
map
|
|
GeometricGraphProfile
profile
|
|
System.Int32
edgeDataSize
|
|
System.Int32
size
|
GeometricGraph(MemoryMap, Int32)
Creates a new geometric graph.
Declaration
public GeometricGraph(MemoryMap map, int edgeDataSize)
Parameters
|
MemoryMap
map
|
|
System.Int32
edgeDataSize
|
GeometricGraph(MemoryMap, Int32, Int32)
Creates a new geometric graph.
Declaration
public GeometricGraph(MemoryMap map, int edgeDataSize, int size)
Parameters
|
MemoryMap
map
|
|
System.Int32
edgeDataSize
|
|
System.Int32
size
|
GeometricGraph(Int32)
Creates a new geometric graph.
Declaration
public GeometricGraph(int edgeDataSize)
Parameters
|
System.Int32
edgeDataSize
|
GeometricGraph(Int32, Int32)
Creates a new geometric graph.
Declaration
public GeometricGraph(int edgeDataSize, int size)
Parameters
|
System.Int32
edgeDataSize
|
|
System.Int32
size
|
Properties
EdgeCount
Returns the number of edges in this graph.
Declaration
public long EdgeCount { get; }
Property Value
|
System.Int64
|
Graph
IsSimple
Returns true if this graph is simple (max one edge between any two vertices).
Declaration
public bool IsSimple { get; }
Property Value
|
System.Boolean
|
SizeInBytes
Returns the size in bytes as if serialized.
Declaration
public long SizeInBytes { get; }
Property Value
|
System.Int64
|
VertexCount
Returns the number of vertices in this graph.
Declaration
public uint VertexCount { get; }
Property Value
|
System.UInt32
|
Methods
AddEdge(UInt32, UInt32, UInt32[], ShapeBase)
Adds a new edge.
Declaration
public uint AddEdge(uint vertex1, uint vertex2, uint[] data, ShapeBase shape)
Parameters
|
System.UInt32
vertex1
|
|
System.UInt32
vertex2
|
|
System.UInt32[]
data
|
|
ShapeBase
shape
|
Returns
|
System.UInt32
|
AddElevation(ElevationHandler.GetElevationDelegate)
Adds elevation.
Declaration
public void AddElevation(ElevationHandler.GetElevationDelegate getElevationFunc)
Parameters
|
ElevationHandler.GetElevationDelegate
getElevationFunc
|
AddVertex(UInt32, Single, Single, Nullable<Int16>)
Adds the given vertex.
Declaration
public void AddVertex(uint vertex, float latitude, float longitude, short ? elevation = default (short ? ))
Parameters
|
System.UInt32
vertex
|
|
System.Single
latitude
|
|
System.Single
longitude
|
|
System.Nullable<System.Int16>
elevation
|
Compress()
Relocates data internally in the most compact way possible.
Declaration
public void Compress()
Compress(Action<UInt32, UInt32>)
Relocates data internally in the most compact way possible.
Declaration
public void Compress(Action<uint, uint> updateEdgeId)
Parameters
|
Action<System.UInt32, System.UInt32>
updateEdgeId
The edge id's may change. This action can be used to hook into every change. |
Deserialize(Stream, GeometricGraphProfile)
Deserializes a graph from the stream.
Declaration
public static GeometricGraph Deserialize(Stream stream, GeometricGraphProfile profile)
Parameters
|
System.IO.Stream
stream
|
|
GeometricGraphProfile
profile
|
Returns
|
GeometricGraph
|
Dispose()
Disposes.
Declaration
public void Dispose()
GetEdge(UInt32)
Gets the edge with the given id.
Declaration
public GeometricEdge GetEdge(uint edgeId)
Parameters
|
System.UInt32
edgeId
|
Returns
|
GeometricEdge
|
GetEdgeEnumerator()
Gets an empty edge enumerator.
Declaration
public GeometricGraph.EdgeEnumerator GetEdgeEnumerator()
Returns
|
GeometricGraph.EdgeEnumerator
|
GetEdgeEnumerator(UInt32)
Gets an edge enumerator for the given vertex.
Declaration
public GeometricGraph.EdgeEnumerator GetEdgeEnumerator(uint vertex)
Parameters
|
System.UInt32
vertex
|
Returns
|
GeometricGraph.EdgeEnumerator
|
GetShape(UInt32)
Gets the shape for the given edge.
Declaration
public ShapeBase GetShape(uint edge)
Parameters
|
System.UInt32
edge
|
Returns
|
ShapeBase
|
GetVertex(UInt32)
Gets the given vertex.
Declaration
public Coordinate GetVertex(uint vertex)
Parameters
|
System.UInt32
vertex
|
Returns
|
Coordinate
|
GetVertex(UInt32, out Single, out Single)
Gets the given vertex.
Declaration
public bool GetVertex(uint vertex, out float latitude, out float longitude)
Parameters
|
System.UInt32
vertex
|
|
System.Single
latitude
|
|
System.Single
longitude
|
Returns
|
System.Boolean
|
GetVertex(UInt32, out Single, out Single, out Nullable<Int16>)
Gets the given vertex.
Declaration
public bool GetVertex(uint vertex, out float latitude, out float longitude, out short ? elevation)
Parameters
|
System.UInt32
vertex
|
|
System.Single
latitude
|
|
System.Single
longitude
|
|
System.Nullable<System.Int16>
elevation
|
Returns
|
System.Boolean
|
RemoveEdge(UInt32)
Removes the edge with the given id.
Declaration
public bool RemoveEdge(uint edgeId)
Parameters
|
System.UInt32
edgeId
|
Returns
|
System.Boolean
|
RemoveEdges(UInt32)
Removes all edges from/to the given vertex.
Declaration
public int RemoveEdges(uint vertex)
Parameters
|
System.UInt32
vertex
|
Returns
|
System.Int32
|
RemoveEdges(UInt32, UInt32)
Removes the given edge.
Declaration
public int RemoveEdges(uint vertex1, uint vertex2)
Parameters
|
System.UInt32
vertex1
|
|
System.UInt32
vertex2
|
Returns
|
System.Int32
|
RemoveVertex(UInt32)
Removes the given vertex.
Declaration
public bool RemoveVertex(uint vertex)
Parameters
|
System.UInt32
vertex
|
Returns
|
System.Boolean
|
Serialize(Stream)
Serializes this graph to disk.
Declaration
public long Serialize(Stream stream)
Parameters
|
System.IO.Stream
stream
|
Returns
|
System.Int64
|
Switch(UInt32, UInt32)
Switches the two vertices.
Declaration
public void Switch(uint vertex1, uint vertex2)
Parameters
|
System.UInt32
vertex1
|
|
System.UInt32
vertex2
|
Trim()
Resizes the internal data structures to their smallest size possible.
Declaration
public void Trim()
UpdateEdgeData(UInt32, UInt32[])
Updates the data associated with this edge.
Declaration
public void UpdateEdgeData(uint edgeId, uint[] data)
Parameters
|
System.UInt32
edgeId
|
|
System.UInt32[]
data
|
UpdateVertex(UInt32, Single, Single, Nullable<Int16>)
Updates the given vertex.
Declaration
public void UpdateVertex(uint vertex, float latitude, float longitude, short ? elevation = default (short ? ))
Parameters
|
System.UInt32
vertex
|
|
System.Single
latitude
|
|
System.Single
longitude
|
|
System.Nullable<System.Int16>
elevation
|