표면을 플롯하고 런타임에 마우스를 사용하여 표면을 회전한다고 가정합니다. 표면의 올바른 회전이 이루어지면 어떻게 그 상태를 얻을 수 있습니까?런타임시 ilplotcube 회전 정보를 어떻게 얻을 수 있습니까?
1
A
답변
1
각 드라이버는 전역 장면의 복제본을 만듭니다. 전역 장면의 복제본은 소스의 변경 사항과 함께 지속적으로 동기화되고 업데이트됩니다. 회전은 복제본에서 수행됩니다. 나는 그것을 테스트하지 않은,하지만 내 생각은, 사용자에 의해 수행 모든 변경 사항을 반영합니다
panel.GetCurrentScene().First<ILPlotCube>(/*your filter if needed*/)
이 인스턴스로 복제의 객체 (예를 들어, 플롯 큐브)를 조회 할 수 있습니다.
0
user492238 답변에서 지적한 방법이 작동하지 않습니다. 그러나 GetCurrentScene()은 전역 및 로컬 (현재 드라이버에 대한) 장면의 구성으로 새 장면을 어셈블합니다. 자주 전화를 걸면 비용이 많이들 수 있습니다. 개별 객체/속성 만 필요한 경우 panel.SceneSyncRoot를 대신 사용할 수 있습니다.
또한 플롯 큐브의 회전은 plotcube.Rotation 속성에 의해 노출됩니다. 따라서 플롯 큐브의 현재 회전 (사용자 입력으로 인한 회전 포함)을 얻으려면 다음을 수행하십시오.
panel.SceneSyncRoot.First<ILPlotCube>().Rotation