public List <Connection> GetConnections(PlanetNode node) { if (nodeDictionary.ContainsKey(node.GetKeyPoint())) { return(GetConnections(nodeDictionary[node.GetKeyPoint()])); } return(new List <Connection>()); }
private void RenderConnections(PlanetNode node) { List <NeighbourTracker.Connection> connections = neighbourTracker.GetConnections(node); Color nodeQuadrantColor = Color.Red; if (neighbourTracker.nodeDictionary.ContainsKey(node.GetKeyPoint())) { NeighbourTrackerNode trackerNode = neighbourTracker.nodeDictionary[node.GetKeyPoint()]; if (trackerNode.quadrant == NeighbourTrackerNode.Quadrant.ne) { nodeQuadrantColor = Color.White; } if (trackerNode.quadrant == NeighbourTrackerNode.Quadrant.nw) { nodeQuadrantColor = Color.Green; } if (trackerNode.quadrant == NeighbourTrackerNode.Quadrant.se) { nodeQuadrantColor = Color.Pink; } if (trackerNode.quadrant == NeighbourTrackerNode.Quadrant.sw) { nodeQuadrantColor = Color.Yellow; } DebugShapeRenderer.AddBoundingSphere(new BoundingSphere(node.GetSurfaceMidPoint(), 100f / trackerNode.depth), nodeQuadrantColor); } foreach (NeighbourTracker.Connection conn in connections) { DebugShapeRenderer.AddLine(node.GetSurfaceMidPoint(), Vector3.Transform(Vector3.Normalize(conn.node.keyPoint) * radius, Transform.AbsoluteTransform), Color.Blue); } }