opencascade设置零件的观察视角
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHLwhGWaFDaI1EaodUTohmMMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL1UTMwETNzUTM1AjNwEjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
俯视图:
左视图:
正视图:
观察的一般方向有前、后、左、右、上和下,在occ中均为我们提供了,除此之外还有其他更多的观察方向:
涉及的类与函数为:
为我们提供了如下的枚举方向:
参考occ的demo,代码设置为:
void CSelectionDialog::OnTopView()
{
myActiveView->SetProj(V3d_Zpos);
OnDisplay(true);
}
void CSelectionDialog::OnBottomView()
{
myActiveView->SetProj(V3d_Zneg);
OnDisplay(true);
}
void CSelectionDialog::OnLeftView()
{
myActiveView->SetProj(V3d_Xneg);
OnDisplay(true);
}
void CSelectionDialog::OnRightView()
{
myActiveView->SetProj(V3d_Xpos);
OnDisplay(true);
}
void CSelectionDialog::OnFrontView()
{
myActiveView->SetProj(V3d_Yneg);
OnDisplay(true);
}
void CSelectionDialog::OnBackView()
{
myActiveView->SetProj(V3d_Ypos);
OnDisplay(true);
}