public void AddSelectionMovementItems()
        {
            // add bounding box to post scene
            // determine bounds
            Vector3 min = new Vector3(float.MaxValue, float.MaxValue, float.MaxValue);
            Vector3 max = new Vector3(float.MinValue, float.MinValue, float.MinValue);

            foreach (AtomSelectionEntity item in selectedAtoms)
            {
                if (item.Atom.BoundingBox.Position.X < min.X)
                {
                    min.X = item.Atom.BoundingBox.Position.X;
                }
                if (item.Atom.BoundingBox.Position.X + item.Atom.BoundingBox.Extent.X > max.X)
                {
                    max.X = item.Atom.BoundingBox.Position.X + item.Atom.BoundingBox.Extent.X;
                }

                if (item.Atom.BoundingBox.Position.Y < min.Y)
                {
                    min.Y = item.Atom.BoundingBox.Position.Y;
                }
                if (item.Atom.BoundingBox.Position.Y + item.Atom.BoundingBox.Extent.Y > max.Y)
                {
                    max.Y = item.Atom.BoundingBox.Position.Y + item.Atom.BoundingBox.Extent.Y;
                }

                if (item.Atom.BoundingBox.Position.Z < min.Z)
                {
                    min.Z = item.Atom.BoundingBox.Position.Z;
                }
                if (item.Atom.BoundingBox.Position.Z + item.Atom.BoundingBox.Extent.Z > max.Z)
                {
                    max.Z = item.Atom.BoundingBox.Position.Z + item.Atom.BoundingBox.Extent.Z;
                }
            }
            BoundingBoxEntity bbox = new BoundingBoxEntity(new BoundingBox(min, max), true, Color.DarkTurquoise.ToArgb());

            bbox.Init(device);
            modeEntities.Add(bbox);
            sceneManager.AddToPostScene(bbox);

            // show movement layer
            if (molControlLayer != null)
            {
                molControlLayer.Show(true);
            }
            Render();
        }
Beispiel #2
0
 public void AddToPostScene(BoundingBoxEntity entity)
 {
     postSceneWorldEntities.Add(entity);
 }