HelixToolkit.WPF 1.Adorners(装饰器) (1)DrawingContextExtensions:扩展绘图方法的类 方法: DrawArc(DrawingContext,Brush,Pen,Point,double,double,SweepDirection,double,double) 使用画刷,画笔绘制几何图形 DrawArc(DrawingContext ,Brush ,Pen ,Point,double,double, SweepDirection ,double ,double ) 使用画刷,画笔绘制几何图形 DrawArc(DrawingContext ,Brush ,Pen ,Point,double ,double,double ,double) 使用画刷,画笔绘制几何图形 (2)RectangleAdorner:缩放矩形时,矩形中心出现十字准线的装饰器 属性: Rectangle 获取或设置矩形 方法: OnRender(DrawingContext ) 渲染的时候调用 (3)TargetSymbolAdorner 属性: Position 获得或设置位置点 方法: OnRender(DrawingContext ) 渲染TargetSymbolAdorner 2.Class diagrams(类图) 3.Controls (1)CameraController:相机控制 (1.1)CameraController:提供通过鼠标和手势来操作相机的类 helix:HelixViewport3D CameraMode=Inspect CameraRotationMode=Trackball helix:DefaultLights/ local:SpectrumAnalyser x:Name=analyzer/ /helix:HelixViewport3D 属性: ActualCamera 获取实际相机 Camera 相机 CameraLookDirection 相机方向 CameraMode 相机模式 CameraPosition 相机位置 CameraRotationMode 相机旋转模式 CameraTarget 获取或设置向相机目标 CameraUpDirection 获取或设置相机垂直方向 ChangeFieldOfViewCursor 获取或设置改变视图光标 DefaultCamera 默认相机 Enabled 获取或设置一个值,指示是否启用。 InertiaFactor 获取或 设置惯性因子 InfiniteSpin 获取或设置一个值,指示是否为无限旋转 IsActive 获取一个值是否表示IsActive。 IsChangeFieldOfViewEnabled 能否改变视野 IsInertiaEnabled 获取或设置一个值,指示相机操作是否启用惯性 IsMoveEnabled 能否移动 IsPanEnabled 能否平移 IsRotationEnabled 能否旋转 IsTouchZoomEnabled 能否触摸缩放 IsZoomEnabled 能否缩放 LeftRightPanSensitivity 通过左右键获取或设置平移灵敏度 LeftRightRotationSensitivity 通过左右键获取或设置旋转灵敏度 MaximumFieldOfView 昀大视野 MinimumFieldOfView 昀小视野 ModelUpDirection 获取或设置模型的垂直方向 MoveSensitivity 获取或设置移动灵敏度。 PageUpDownZoomSensitivity 通过页面向上和向下翻页获取或设置缩放的灵敏度 PanCursor 平移光标 RotateAroundMouseDownPoint 获取或设置一个值,指示是否绕鼠标向下旋转 RotateCursor 旋转光标 RotationSensitivity 旋转灵敏度 ShowCameraTarget 获取或设置一个值,指示在操作相机时是否显示目标服务器。 SpinReleaseTime 获取或设置鼠标拖动的昀大持续时间以激活旋转 UpDownPanSensitivity 通过向上和向下键获取或设置平移的灵敏度。 UpDownRotationSensitivity 通过向上和向下键获取或设置旋转的灵敏度。 Viewport 视口 ZoomAroundMouseDownPoint 获取或设置一个值,指示是否放大鼠标左下角 ZoomCursor 缩放光标 ZoomRectangleCursor 获取或设置缩放矩形光标 ZoomSensitivity 获取或设置缩放灵敏度 IsOrthographicCamera 获取一个值,指示是否是平行相机。 IsPerspectiveCamera 获取一个值,指示是否是正交相机。 OrthographicCamera 平行相机 PerspectiveCamera 正交相机 方法: AddMoveForce(double, double , double) 添加移动强度 AddMoveForce(Vector3D) 添加移动强度 AddPanForce(double, double) 添加平移强度 AddPanForce(Vector3D) 添加平移强度 AddRotateForce(double, double) 添加旋转强度 AddZoomForce(double) 添加缩放强度 ChangeDirection(Vector3D, Vector3D, double) 改变相机方向 ChangeDirection(Vector3D, double) 改变相机方向 HideRectangle() 隐藏矩形 HideTargetAdorner() 隐藏目标adorner LookAt(Point3D, doubl) 改变look‐at点 PushCameraSetting() 将当前相机设置推入内部堆栈 ResetCamera() 重置相机 ResetCameraUpDirection() 重置相机垂直方向 RestoreCameraSetting() 重置相机设置 ShowRectangle(Rect, Color, Color) 显示矩形 ShowTargetAdorner(Point) 显示目标adorner。 StartSpin(Vector, Point, Point3D) 开始旋转 StopSpin() 停止旋转 UpdateRectangle(Rect) 根性矩形 Zoom(double) 根据增量值缩放 ZoomExtents(double) 缩放模型范围 RestoreCursor() 从光标栈恢复光标 SetCursor(Cursor) 设置光标 OnLookAtChanged() 触发LookAtChanged事件 OnZoomedByRectangle() 引发ZoomedByRectangle事件 OnManipulationCompleted(ManipulationCompletedEventArgs) 触摸完成事件 OnManipulationDelta(ManipulationDeltaEventArgs) 触摸事件 OnManipulationStarted(ManipulationStartedEventArgs) 触摸开始事件 OnStylusSystemGesture(StylusSystemGestureEventArgs) CameraChanged(DependencyObject, DependencyPropertyChangedEventArgs) 相机改变事件 ViewportChanged(DependencyObject, DependencyPropertyChangedEventArgs )视口改变事件 BackViewHandler(object, 后视图处理事件 ExecutedRoutedEventArgs ) BottomViewHandler(object, ExecutedRoutedEventArgs) 底视图处理事件 CameraControllerLoaded(object, RoutedEventArgs ) 相机控制器载入时发生 CameraControllerUnloaded(objec, RoutedEventArgs ) 相机控制器卸载时发生 Clamp(double, double, double) 限制特定的值 FindPanVector(double, double) 找到平移向量 FrontViewHandler(object, ExecutedRoutedEventArgs ) 前视图处理事件 InitializeBindings() 初始化输入绑定。 LeftViewHandler(object, ExecutedRoutedEventArgs ) 左视图处理事件 OnCameraChanged() 相机改变 OnCompositionTargetRendering(object, RenderingEventArgs) 渲染事件 OnKeyDown(object, KeyEventArgs ) 按键事件 OnMouseWheel(object, MouseWheelEventArgs ) 鼠标滚轮事件 OnTimeStep(double) 按时步骤 OnViewportChanged() 视图改变 RefreshViewport() 更新视图 ResetCameraHandler(object, ExecutedRoutedEventArgs ) 复位照相机事件 RightViewHandler(object, ExecutedRoutedEventArgs) 右视图事件处理 StopAnimations() 停止动画 SubscribeEvents() 订阅事件 TopViewHandler(object, ExecutedRoutedEventArgs ) 顶视图事件处理。 UnSubscribeEvents() 未订阅事件 ZoomExtentsHandler(object, ExecutedRoutedEventArgs) 缩放范围事件处理 (1.2)CameraMode(相机模式) Inspect 固定目标位置,缩放时移动相机 WalkAround 固定相机位置,放大时沿摄像机移动 FixedPosition 固定摄像机目标,变焦时改变视角 (1.3)CameraRotationMode(相机旋转模式) Turntable 转盘被限制在两个旋转轴(模型向上和向右) Turnball 转盘使用三个轴(正方向,右方向和向上方向(左/右边缘) Trackball 使用虚拟轨迹球 (1.4)CameraSetting(相机设置) 属性: FarPlaneDistance 设置昀远可视距离 FieldOfView 视角 LookDirection 摄像机方向 NearPlaneDistance 设置昀近可视距离 Position 指定相机位置 UpDirection 摄像机的倾斜角度 Width 设置摄像机的宽度 方法: CameraSetting(ProjectionCamera) 初始化CameraSetting类的新实例UpdateCamera(ProjectionCamera) 将相机更新为此状态。 (1.5)ManipulationEventArgs(提供操作事件的数据) 属性: CurrentPosition 设置当前操作位置 方法: ManipulationEventArgs(Point ) 初始化ManipulationEv