1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113
|
/*=========================================================================
Program: Visualization Toolkit
Module: vtkWindowNode.cxx
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
All rights reserved.
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
#include "vtkWindowNode.h"
#include "vtkFloatArray.h"
#include "vtkObjectFactory.h"
#include "vtkRenderWindow.h"
#include "vtkRenderer.h"
#include "vtkRendererCollection.h"
#include "vtkUnsignedCharArray.h"
#include "vtkViewNodeCollection.h"
//============================================================================
vtkStandardNewMacro(vtkWindowNode);
//----------------------------------------------------------------------------
vtkWindowNode::vtkWindowNode()
{
this->Size[0] = 0;
this->Size[1] = 0;
this->ColorBuffer = vtkUnsignedCharArray::New();
this->ZBuffer = vtkFloatArray::New();
}
//----------------------------------------------------------------------------
vtkWindowNode::~vtkWindowNode()
{
this->ColorBuffer->Delete();
this->ColorBuffer = 0;
this->ZBuffer->Delete();
this->ZBuffer = 0;
}
//----------------------------------------------------------------------------
void vtkWindowNode::PrintSelf(ostream& os, vtkIndent indent)
{
this->Superclass::PrintSelf(os, indent);
}
//----------------------------------------------------------------------------
void vtkWindowNode::Build(bool prepass)
{
if (prepass)
{
vtkRenderWindow *mine = vtkRenderWindow::SafeDownCast
(this->GetRenderable());
if (!mine)
{
return;
}
this->PrepareNodes();
this->AddMissingNodes(mine->GetRenderers());
this->RemoveUnusedNodes();
}
}
//----------------------------------------------------------------------------
void vtkWindowNode::Synchronize(bool prepass)
{
if (prepass)
{
vtkRenderWindow *mine = vtkRenderWindow::SafeDownCast
(this->GetRenderable());
if (!mine)
{
return;
}
/*
GetAAFrames() vtkRenderWindow virtual
GetActualSize() vtkWindow
GetAlphaBitPlanes() vtkRenderWindow virtual
GetDoubleBuffer() vtkWindow virtual
GetDPI() vtkWindow virtual
GetFDFrames() vtkRenderWindow virtual
GetFullScreen() vtkRenderWindow virtual
GetLineSmoothing() vtkRenderWindow virtual
GetMapped() vtkWindow virtual
GetMTime() vtkObject virtual
GetMultiSamples() vtkRenderWindow virtual
GetNeverRendered() vtkRenderWindow virtual
GetNumberOfLayers() vtkRenderWindow virtual
GetOffScreenRendering() vtkWindow virtual
GetPointSmoothing() vtkRenderWindow virtual
GetPolygonSmoothing() vtkRenderWindow virtual
GetPosition() vtkWindow virtual
GetScreenSize()=0 vtkWindow pure virtual
*/
int * sz = mine->GetSize();
this->Size[0] = sz[0];
this->Size[1] = sz[1];
/*
GetStereoType() vtkRenderWindow virtual
GetSubFrames() vtkRenderWindow virtual
GetSwapBuffers() vtkRenderWindow virtual
GetTileScale() vtkWindow virtual
GetTileViewport() vtkWindow virtual
GetUseConstantFDOffsets() vtkRenderWindow virtual
*/
}
}
|