2016-06-15 13 views
0

Helix Toolkit으로 3D 오브젝트를 제어하기 위해 Leap Motion을 사용하려고하는데 거의 성공했지만 코드 숨김에서 "줌"하는 방법을 알고 싶습니다.Helixtoolkit으로 확대

N.B. Caliburn (MVVM 패턴)을 사용하고 있습니다.

나는 시계 CircleAction을 수행 할 때 확대, 그렇지 않으면 축소하려는 :

 <HelixToolkit:HelixViewport3D.Camera> 
      <PerspectiveCamera 
       Position="{Binding CameraPosition,Mode=TwoWay}" 
       LookDirection="{Binding CameraDirection,Mode=TwoWay}" 
       UpDirection="{Binding Camera.UpDirection}" 
       FieldOfView="{Binding Camera.FieldOfView}" 
      /> 
     </HelixToolkit:HelixViewport3D.Camera> 

    </HelixToolkit:HelixViewport3D> 
+1

확대가 HelixViewport3D의 CameraController으로 이루어집니다. 불행하게도 바인딩 할 직접적인 방법은 없습니다. 확대/축소 명령 또는 유사한 항목에 바인딩 할 수있는 사용자 정의 Decorator 사용을 생각할 수 있습니다. – egse

답변

0

: 여기

public void CircleAction(bool isClockWise) 
{ 
    if (!detectionActive) 
    { 
     return; 
    } 
    if (isClockWise) 
    { 
     // To do 
    } 
    else 
    { 
     //To do 
    } 
} 

을 그리고 내 HelixToolkit 영역입니다의 SurfaceDemo 예에서 0과 documentation for the CameraController class에 대해 다음과 같이 제안 할 수 있습니다.

XAML :

<HelixToolkit:HelixViewport3D x:Name="myViewPort3D"> 
<!-- ... --> 
</HelixToolkit:HelixViewport3D> 

숨김 코드 :

public void CircleAction(bool isClockWise) 
{ 
    if (!detectionActive) 
    { 
     return; 
    } 
    if (isClockWise) 
    { 
     myViewPort3D.CameraController.zoom(delta); 
    } 
    else 
    { 
     myViewPort3D.CameraController.zoom(-delta); 
    } 
}