internal void BuildBBHierarchy() { List <ObjectWithBox> objectsWithBox = new List <ObjectWithBox>(); foreach (DObject dObject in Entities) { dObject.BbNode = BuildBBHierarchyUnderDObject(dObject); objectsWithBox.Add(dObject); } BbNode = SpatialAlgorithm.CreateBBNodeOnGeometries(objectsWithBox); }
static BBNode BuildBBHierarchyUnderDEdge(DEdge dEdge) { if (dEdge.DrawingEdge.GeometryObject == null || dEdge.Edge.GeometryEdge.Curve == null) { return(null); } List <ObjectWithBox> geometries = Tessellator.TessellateCurve(dEdge, dEdge.MarkedForDragging ? dEdge.RadiusOfPolylineCorner : 0); return(SpatialAlgorithm.CreateBBNodeOnGeometries(geometries)); }
internal void BuildBBHierarchy() { var objectsWithBox = new List <ObjectWithBox>(); foreach (DObject dObject in Entities) { dObject.BbNode = BuildBBHierarchyUnderDObject(dObject); if (dObject.BbNode == null) { return; //the graph is not ready } objectsWithBox.Add(dObject); } BbNode = SpatialAlgorithm.CreateBBNodeOnGeometries(objectsWithBox); }
static internal BBNode CreateBBNodeOnGeometries(List<ObjectWithBox> geoms){ SpatialAlgorithm sa=new SpatialAlgorithm(geoms); return sa.CalcHierachy(); }
static internal BBNode CreateBBNodeOnGeometries(List <ObjectWithBox> geoms) { SpatialAlgorithm sa = new SpatialAlgorithm(geoms); return(sa.CalcHierachy()); }