Пример #1
0
        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);
        }
Пример #2
0
        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));
        }
Пример #3
0
        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());
        }