Beispiel #1
0
void COCCDemoDoc::Fit()
{
	CMDIFrameWnd *pFrame =  (CMDIFrameWnd*)AfxGetApp()->m_pMainWnd;
	CMDIChildWnd *pChild =  (CMDIChildWnd *) pFrame->GetActiveFrame();
	COCCDemoView *pView = (COCCDemoView *) pChild->GetActiveView();
	pView->FitAll();
}
void OCCDemo_Presentation::ResetView()
{
	CMDIFrameWnd *pFrame =  (CMDIFrameWnd*)AfxGetApp()->m_pMainWnd;
	CMDIChildWnd *pChild =  (CMDIChildWnd *) pFrame->GetActiveFrame();
	COCCDemoView *pView = (COCCDemoView *) pChild->GetActiveView();
	pView->Reset();
}
void OCCDemo_Presentation::SetViewScale(Quantity_Factor Coef)
{
	CMDIFrameWnd *pFrame =  (CMDIFrameWnd*)AfxGetApp()->m_pMainWnd;
	CMDIChildWnd *pChild =  (CMDIChildWnd *) pFrame->GetActiveFrame();
	COCCDemoView *pView = (COCCDemoView *) pChild->GetActiveView();
	pView->SetViewScale(Coef);
}
Quantity_Factor OCCDemo_Presentation::GetViewScale()
{
	CMDIFrameWnd *pFrame =  (CMDIFrameWnd*)AfxGetApp()->m_pMainWnd;
	CMDIChildWnd *pChild =  (CMDIChildWnd *) pFrame->GetActiveFrame();
	COCCDemoView *pView = (COCCDemoView *) pChild->GetActiveView();
	return pView->GetViewScale();
}
void OCCDemo_Presentation::SetViewEye(V3d_Coordinate X, V3d_Coordinate Y, V3d_Coordinate Z)
{
	CMDIFrameWnd *pFrame =  (CMDIFrameWnd*)AfxGetApp()->m_pMainWnd;
	CMDIChildWnd *pChild =  (CMDIChildWnd *) pFrame->GetActiveFrame();
	COCCDemoView *pView = (COCCDemoView *) pChild->GetActiveView();
	pView->SetViewEye(X,Y,Z);
}
void OCCDemo_Presentation::SetViewCenter(V3d_Coordinate Xc, V3d_Coordinate Yc)
{
	CMDIFrameWnd *pFrame =  (CMDIFrameWnd*)AfxGetApp()->m_pMainWnd;
	CMDIChildWnd *pChild =  (CMDIChildWnd *) pFrame->GetActiveFrame();
	COCCDemoView *pView = (COCCDemoView *) pChild->GetActiveView();
	pView->SetViewCenter(Xc,Yc);
}
Beispiel #7
0
void COCCDemoDoc::InitViewButtons()
{
  POSITION pos = GetFirstViewPosition();
  while (pos != NULL)
  {
    COCCDemoView* pView = (COCCDemoView*) GetNextView(pos);
    pView->InitButtons();
  }
}
Beispiel #8
0
BOOL COCCDemoDoc::OnNewDocument()
{
	if (!CDocument::OnNewDocument())
		return FALSE;

	// TODO: add reinitialization code here
	// (SDI documents will reuse this document)
  
  SetTitle(myPresentation->GetName());

  myAISContext->EraseAll(Standard_False);
  myAISContext->SetDisplayMode(AIS_Shaded);

  POSITION pos = GetFirstViewPosition();
  while (pos != NULL)
  {
    COCCDemoView* pView = (COCCDemoView*) GetNextView(pos);
    pView->Reset();
  }  

	return TRUE;
}
Beispiel #9
0
void COCCDemoDoc::OnDumpView() 
{
  // save current directory and restore it on exit
  char aCurPath[MAX_PATH];
  ::GetCurrentDirectory(MAX_PATH, aCurPath);

  ::SetCurrentDirectory(myLastPath);

  CFileDialog *aDlg = new CFileDialog(false, "gif", "OCCView.gif", 
    OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "GIF Files (*.gif)|*.gif||", NULL);

  int result = aDlg->DoModal();
  if ( result == IDOK) 
  {
    CString aFileName = aDlg->GetFileName();
    delete aDlg;

    POSITION pos = GetFirstViewPosition();
    while (pos != NULL)
    {
      COCCDemoView* pView = (COCCDemoView*) GetNextView(pos);
      pView->UpdateWindow();
    }       

    myViewer->InitActiveViews();
    Handle(V3d_View) aView = myViewer->ActiveView();
    char aStrFileName[MAX_PATH];
    strcpy(aStrFileName, aFileName);
    aView->Dump(aStrFileName);
  }
  else 
    delete aDlg;
  
  ::GetCurrentDirectory(MAX_PATH, myLastPath);
  ::SetCurrentDirectory(aCurPath);
}