/// <summary> /// Creates a DataManipulation object. /// </summary> public DataManipulation( DXViewport.Viewport viewport ) { _buffers = new BufferObjects(); _buffers.VertexSize = 0.25f; _buffers.ColorByHeight = false; _buffers.MainViewport = viewport; _viewport = viewport; _moveVertex = false; _pauseMoveVertex = false; _isMoving = false; _softSelection = false; _falloff = true; _enableLighting = true; _softDistanceSquared = 0.2f * 0.2f; // Squared for quicker calculations _history = new DataHistory(); _redoHistory = new DataHistory(); _pageCopy = null; _renderTextures = true; _ray = Vector3.Empty; _copyPosition = 0f; _plugins = new PlugIns(); // Set shader versions _vertexShaderVersion = _viewport.SupportedVertexShaderVersion; _pixelShaderVersion = _viewport.SupportedPixelShaderVersion; }
/// <summary> /// Selects a vertex in the terrain from the given origin. /// </summary> /// <param name="viewport">The viewport to build the picking ray from.</param> /// <param name="endSelection">Whether to use multiple selection.</param> public void SelectVertex( DXViewport.Viewport viewport, bool endSelection ) { _page.SelectVertex( _ray, viewport.Camera.Position - viewport.Camera.Offset, endSelection, _enableMultiSelect ); }
public void BuildPickingRay( int x, int y, DXViewport.Viewport viewport ) { _ray = viewport.Camera.PickingRay( x, y, viewport.Window.Width, viewport.Window.Height ); }