// Program: 3055 // Author: Manuel J. A. Eugster ( e0126312@student.tuwien.ac.at ) // FileId: $Id: RGBVector.java,v 1.1.1.1 2001/12/10 18:56:04 heder Exp $ import java.lang.*; // CLASS: // Vector with 3 values: red, green, blue. // public class RGBVector { private double dCoordR; // Red coordinate private double dCoordG; // Green coordinate private double dCoordB; // Blue coordinate // METHOD: // Constructor. // public RGBVector( int iR, int iG, int iB ) { this.dCoordR = ( double ) iR; this.dCoordG = ( double ) iG; this.dCoordB = ( double ) iB; } // METHOD: // Constructor. // public RGBVector( double dR, double dG, double dB ) { this.dCoordR = dR; this.dCoordG = dG; this.dCoordB = dB; } // METHOD: // Subtract a vector from another one. // public RGBVector sub( RGBVector vSub ) { return( new RGBVector( this.dCoordR - vSub.getCoordR(), this.dCoordG - vSub.getCoordG(), this.dCoordB - vSub.getCoordB() ) ); } // METHOD: // Calculates the length of a vector. // public double length() { return( Math.sqrt( this.dCoordR * this.dCoordR + this.dCoordG * this.dCoordG + this.dCoordB * this.dCoordB ) ); } // METHOD: // Returns the red coordinate. // public double getCoordR() { return( ( double ) this.dCoordR ); } // METHOD: // Returns the green coordinate. // public double getCoordG() { return( ( double ) this.dCoordG ); } // METHOD: // Returns the blue coordinate. // public double getCoordB() { return( ( double ) this.dCoordB ); } // METHOD: // Returns the coordinate specified with index. // public double getCoord( int iCoord ) { if ( iCoord == 0 ) { return( this.dCoordR ); } if ( iCoord == 1 ) { return( this.dCoordG ); } if ( iCoord == 2 ) { return( this.dCoordB ); } return( 0d ); } }