- CDialog::OnInitDialog();
-
- Standard_Real A,B,C,D;
- myPlane->Plane(A,B,C,D);
- m_ModelClipping_Z = D;
- m_ModelClippingZSlidCtrl.SetRange(-750, 750, TRUE);
- m_ModelClippingZSlidCtrl.SetPos( (int) floor(m_ModelClipping_Z));
-
- Handle(V3d_Plane) thePlane;
- for( myView->InitActivePlanes() ;
- myView->MoreActivePlanes() ; myView->NextActivePlanes() ) {
- thePlane = myView->ActivePlane() ;
- if( thePlane == myPlane ) m_ModelClippingONOFF = TRUE;
- }
- if(m_ModelClippingONOFF)
- if(!myShape.IsNull())
- myDoc->GetAISContext()->Display(myShape);
-
- UpdateData(FALSE);
-
- return TRUE; // return TRUE unless you set the focus to a control
- // EXCEPTION: OCX Property Pages should return FALSE
-} //V3d_Plane.hxx
-
-void CModelClippingDlg::OnChangeEditModelclippingZ()
-{
- UpdateData(TRUE);
-
-// Setting the m_ZClippingDepthSlidCtrl position at floor(m_ZClippingDepth) value (because slider position is an integer)
- m_ModelClippingZSlidCtrl.SetPos( (int) floor(m_ModelClipping_Z));
-// Setting the ZClipping depth at m_ZClippingDepth value
- gp_Pln clipPln(gp_Pnt(-m_ModelClipping_Z,0,0),gp_Dir(1,0,0));
- Standard_Real A,B,C,D;
- clipPln.Coefficients(A,B,C,D);
- myPlane->SetPlane(A,B,C,D);
- if(m_ModelClippingONOFF)
- myView->SetPlaneOn(myPlane);
- gp_Trsf myTrsf;
- myTrsf.SetTranslation(gp_Pnt(m_ModelClipping_Z,0,0), gp_Pnt(myModelClipping_Z,0,0));
- myDoc->GetAISContext()->SetLocation(myShape,TopLoc_Location(myTrsf)) ;
- myDoc->GetAISContext()->Redisplay(myShape);
- myView->Update();
-
- myModelClipping_Z = m_ModelClipping_Z;
-
- TCollection_AsciiString Message("\
-gp_Pln clipPln(gp_Pnt(-m_ModelClipping_Z,0,0),gp_Dir(1,0,0));\n\
-Standard_Real A,B,C,D;\n\
-clipPln.Coefficients(A,B,C,D);\n\
-myPlane->SetPlane(A,B,C,D);\n\
-myView->SetPlaneOn(myPlane); \n\
- ");