/*========================================================================= 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 = nullptr; vtkXYPlotActor *actor = vtkXYPlotActor::New(); this->SetXYPlotActor( actor ); actor->Delete(); this->ShowBorder = vtkBorderRepresentation::BORDER_ACTIVE; this->BWActor->VisibilityOff(); } //----------------------------------------------------------------------------- vtkXYPlotRepresentation::~vtkXYPlotRepresentation() { this->SetXYPlotActor( nullptr ); } //----------------------------------------------------------------------------- void vtkXYPlotRepresentation::SetXYPlotActor( vtkXYPlotActor* actor ) { if ( this->XYPlotActor != actor ) { vtkSmartPointer 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 ); } }