// protected override bool TreesAreCorrect() { // return TreeIsCorrect(leftConeSides) && TreeIsCorrect(rightConeSides); // } // // bool TreeIsCorrect(RbTree<ConeSide> tree) { // var y = double.NegativeInfinity; // foreach (var t in tree) { // var x = coneSideComparer.IntersectionOfSegmentAndSweepLine(t); // var yp = x*DirectionPerp; // if (yp < y - ApproximateComparer.DistanceEpsilon) // return false; // y = yp; // } // return true; // } #endif void ProcessPortObstacleEvent(PortObstacleEvent portObstacleEvent) { Z = GetZ(portObstacleEvent); GoOverConesSeeingVertexEvent(portObstacleEvent); CreateConeOnVertex(portObstacleEvent); }
void ProcessPointObstacleEvent(PortObstacleEvent portObstacleEvent) { Z = GetZ(portObstacleEvent); GoOverConesSeeingVertexEvent(portObstacleEvent); }