package PlotData @ISA = qw() sub nData return scalar @$pX; sub Visible return shift->{'Visible'}; sub SetVisible sub SetVisible { my ($this,$f)= return shift->{'Visible'} = $f; sub GetXArrayRef return shift->{XDataArray}; sub GetYArrayRef return shift->{YDataArray}; sub GetIArrayRef return shift->{IDataArray}; sub GetTagArrayRef return shift->{TagArray}; sub GetLine return shift->{'Line'}; sub GetSymbol return shift->{'Symbol'}; sub GetSymbol2 return shift->{'Symbol2'}; sub GetOption return shift->{'Option'}; sub SetXName sub SetXName { my ($this,$name)= return $this->{'XName'} = $name; sub XName return shift->{'XName'}; sub GetXName return shift->{'XName'}; sub SetYName sub SetYName { my ($this,$name)= return $this->{'YName'} = $name; sub YName return shift->{'YName'}; sub GetYName return shift->{'YName'}; sub GetXMinMax sub GetXMinMax { my $this = return ($this->{'XMin'}, $this->{'XMax'}); sub GetYMinMax sub GetYMinMax { my $this = return ($this->{'YMin'}, $this->{'YMax'}); sub GetMinMax sub GetMinMax { my $this = sub X sub X { my ($this,$i)= return $this->GetXArrayRef()->[$i]; sub Y sub Y { my ($this,$i)= return $this->GetYArrayRef()->[$i]; sub SetX my ($this, $i, $x) = @_; return $pX->[$i] = $x; sub SetY my ($this, $i, $y) = @_; return $pY->[$i] = $y; sub AddData my ($this, $x, $y) = @_; sub ClearAll my ($this) = @_; sub BEGIN sub new my ($module) = @_; return $this; sub DESTROY my $this = shift; # $this->SUPER::DESTROY( sub nXDataArray my $this = shift; return $i unless($this->GetXArrayRef()->[$i]); sub nYDataArray my $this = shift; return $i unless($this->GetYArrayRef()->[$i]); sub SetPlotData my ($this, $pXDataArray, $pYDataArray, $LineWidth, $LineColor, $SymbolType, $SymbolSize, $SymbolFillColor, $SymbolLineWidth, $SymbolLineColor, $Option) = @_; return unless($pXDataArray); return unless($pYDataArray); sub SetDiffractionData my ($this, $pX, $pY, $pI, $pTag, $SymbolType1, $SymbolSize1, $SymbolColor1, $SymbolType2, $SymbolSize2, $SymbolColor2, $Option) = @_; return if(!$pX or !$pY); sub CalXMinMax my ($this) = @_; return unless($pXArray); return (0, 0) if($nData <= 0); return ($min, $max); sub CalYMinMax my ($this) = @_; return unless($pYArray); return (0, 0) if($nData <= 0); return ($min, $max); sub CalMinMax my ($this) = @_;