You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
nmWTAI-Platform/3rd/VTK7.1/source/VTK-7.1.1/Interaction/Widgets/vtkXYPlotRepresentation.cxx

683 lines
18 KiB
C++

/*=========================================================================
Program: Visualization Toolkit
Module: vtkXYPlotRepresentation.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.
=========================================================================*/
// Written by Philippe Pebay, Kitware SAS 2012
#include "vtkXYPlotRepresentation.h"
#include "vtkObjectFactory.h"
#include "vtkPropCollection.h"
#include "vtkXYPlotActor.h"
#include "vtkSmartPointer.h"
#include "vtkTextProperty.h"
vtkStandardNewMacro(vtkXYPlotRepresentation);
//-----------------------------------------------------------------------------
vtkXYPlotRepresentation::vtkXYPlotRepresentation()
{
// this->PositionCoordinate->SetValue( 0.0, 0.0 );
// this->Position2Coordinate->SetValue( 0.7, 0.65 );
this->XYPlotActor = NULL;
vtkXYPlotActor *actor = vtkXYPlotActor::New();
this->SetXYPlotActor( actor );
actor->Delete();
this->ShowBorder = vtkBorderRepresentation::BORDER_ACTIVE;
this->BWActor->VisibilityOff();
}
//-----------------------------------------------------------------------------
vtkXYPlotRepresentation::~vtkXYPlotRepresentation()
{
this->SetXYPlotActor( NULL );
}
//-----------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetXYPlotActor( vtkXYPlotActor* actor )
{
if ( this->XYPlotActor != actor )
{
vtkSmartPointer<vtkXYPlotActor> oldActor = this->XYPlotActor;
vtkSetObjectBodyMacro( XYPlotActor, vtkXYPlotActor, actor );
}
}
//-----------------------------------------------------------------------------
void vtkXYPlotRepresentation::PrintSelf( ostream &os, vtkIndent indent )
{
this->Superclass::PrintSelf( os, indent );
os << indent << "XYPlotActor: " << this->XYPlotActor << endl;
}
//-----------------------------------------------------------------------------
void vtkXYPlotRepresentation::BuildRepresentation()
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetPosition( this->GetPosition() );
this->XYPlotActor->SetPosition2( this->GetPosition2() );
}
this->Superclass::BuildRepresentation();
}
//-----------------------------------------------------------------------------
void vtkXYPlotRepresentation::WidgetInteraction( double eventPos[2])
{
// Let superclass move things around.
this->Superclass::WidgetInteraction( eventPos );
}
//-----------------------------------------------------------------------------
int vtkXYPlotRepresentation::GetVisibility()
{
return this->XYPlotActor->GetVisibility();
}
//-----------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetVisibility( int vis )
{
this->XYPlotActor->SetVisibility( vis );
}
//-----------------------------------------------------------------------------
void vtkXYPlotRepresentation::GetActors2D( vtkPropCollection* collection )
{
if ( this->XYPlotActor )
{
collection->AddItem( this->XYPlotActor );
}
this->Superclass::GetActors2D( collection );
}
//-----------------------------------------------------------------------------
void vtkXYPlotRepresentation::ReleaseGraphicsResources( vtkWindow* w )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->ReleaseGraphicsResources( w );
}
this->Superclass::ReleaseGraphicsResources( w );
}
//-------------------------------------------------------------------------
int vtkXYPlotRepresentation::RenderOverlay( vtkViewport* w )
{
int count = this->Superclass::RenderOverlay( w );
if ( this->XYPlotActor )
{
count += this->XYPlotActor->RenderOverlay( w );
}
return count;
}
//-------------------------------------------------------------------------
int vtkXYPlotRepresentation::RenderOpaqueGeometry( vtkViewport* w )
{
int count = this->Superclass::RenderOpaqueGeometry( w );
if ( this->XYPlotActor )
{
count += this->XYPlotActor->RenderOpaqueGeometry( w );
}
return count;
}
//-------------------------------------------------------------------------
int vtkXYPlotRepresentation::RenderTranslucentPolygonalGeometry( vtkViewport* w )
{
int count = this->Superclass::RenderTranslucentPolygonalGeometry( w );
if ( this->XYPlotActor )
{
count += this->XYPlotActor->RenderTranslucentPolygonalGeometry( w );
}
return count;
}
//-------------------------------------------------------------------------
int vtkXYPlotRepresentation::HasTranslucentPolygonalGeometry()
{
int result = this->Superclass::HasTranslucentPolygonalGeometry();
if ( this->XYPlotActor )
{
result |= this->XYPlotActor->HasTranslucentPolygonalGeometry();
}
return result;
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetBorder( int x )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetBorder( x );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetTitle ( const char* title )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetTitle( title );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetXTitle ( const char* title )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetXTitle( title );
}
}
//-------------------------------------------------------------------------------
char* vtkXYPlotRepresentation::GetXTitle ()
{
if ( this->XYPlotActor )
{
return this->XYPlotActor->GetXTitle();
}
return 0;
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetXRange ( double xmin, double xmax )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetXRange( xmin, xmax );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetYTitle ( const char* title )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetYTitle( title );
}
}
//-------------------------------------------------------------------------------
char* vtkXYPlotRepresentation::GetYTitle ()
{
if ( this->XYPlotActor )
{
return this->XYPlotActor->GetXTitle();
}
return 0;
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetYRange ( double ymin, double ymax )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetYRange( ymin, ymax );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetYTitlePosition ( int pos )
{
if ( this->XYPlotActor )
{
switch( pos )
{
case 0:
this->XYPlotActor->SetYTitlePositionToTop();
break;
case 1:
this->XYPlotActor->SetYTitlePositionToHCenter();
break;
case 2:
this->XYPlotActor->SetYTitlePositionToVCenter();
break;
}
}
}
//-------------------------------------------------------------------------------
int vtkXYPlotRepresentation::GetYTitlePosition () const
{
if ( this->XYPlotActor )
{
return this->XYPlotActor->GetYTitlePosition();
}
return 0;
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetXAxisColor ( double r, double g, double b )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetXAxisColor( r, g, b );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetYAxisColor ( double r, double g, double b )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetYAxisColor( r, g, b );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetXValues ( int x )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetXValues( x );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetLegend ( int x )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetLegend( x );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetLegendBorder ( int b )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetLegendBorder( b );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetLegendBox ( int b )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetLegendBox( b );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetLegendBoxColor ( double r, double g, double b )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetLegendBoxColor( r, g, b );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetLegendPosition ( double x, double y )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetLegendPosition( x, y );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetLegendPosition2 ( double x, double y )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetLegendPosition2( x, y );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetLineWidth ( double w )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetLineWidth( w );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetPlotColor ( int i, int r, int g, int b )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetPlotColor( i, r/255.0, g/255.0, b/255.0 );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetPlotLines ( int i )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetPlotLines( i );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetPlotPoints ( int i )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetPlotPoints( i );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetPlotLabel ( int i, const char* label )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetPlotLabel( i, label );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetPlotGlyphType( int curve, int glyph )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetPlotGlyphType( curve, glyph );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetGlyphSize( double x )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetGlyphSize( x );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::AddUserCurvesPoint ( double c, double x, double y )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->AddUserCurvesPoint( c, x, y );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::RemoveAllActiveCurves ()
{
if ( this->XYPlotActor )
{
this->XYPlotActor->RemoveAllActiveCurves();
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetTitleColor ( double r, double g, double b )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetTitleColor( r, g, b );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetTitleFontFamily ( int x )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetTitleFontFamily( x );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetTitleBold ( int x )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetTitleBold( x );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetTitleItalic ( int x )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetTitleItalic( x );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetTitleShadow ( int x )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetTitleShadow( x );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetTitleFontSize ( int x )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetTitleFontSize( x );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetTitleJustification ( int x )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetTitleJustification( x );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetTitleVerticalJustification ( int x )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetTitleVerticalJustification( x );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetAdjustTitlePosition ( int x )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetAdjustTitlePosition( x );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetTitlePosition ( double x, double y )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetTitlePosition( x, y );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetAxisTitleColor ( double r, double g, double b )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetAxisTitleColor( r, g, b );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetAxisTitleFontFamily ( int x )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetAxisTitleFontFamily( x );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetAxisTitleBold ( int x )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetAxisTitleBold( x );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetAxisTitleItalic ( int x )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetAxisTitleItalic( x );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetAxisTitleShadow ( int x )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetAxisTitleShadow( x );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetAxisTitleFontSize ( int x )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetAxisTitleFontSize( x );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetAxisTitleJustification ( int x )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetAxisTitleJustification( x );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetAxisTitleVerticalJustification ( int x )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetAxisTitleVerticalJustification( x );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetAxisLabelColor ( double r, double g, double b )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetAxisLabelColor( r, g, b );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetAxisLabelFontFamily ( int x )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetAxisLabelFontFamily( x );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetAxisLabelBold ( int x )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetAxisLabelBold( x );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetAxisLabelItalic ( int x )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetAxisLabelItalic( x );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetAxisLabelShadow ( int x )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetAxisLabelShadow( x );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetAxisLabelFontSize ( int x )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetAxisLabelFontSize( x );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetAxisLabelJustification ( int x )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetAxisLabelJustification( x );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetAxisLabelVerticalJustification ( int x )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetAxisLabelVerticalJustification( x );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetXLabelFormat( const char* arg )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetXLabelFormat( arg );
}
}
//-------------------------------------------------------------------------------
void vtkXYPlotRepresentation::SetYLabelFormat( const char* arg )
{
if ( this->XYPlotActor )
{
this->XYPlotActor->SetYLabelFormat( arg );
}
}