public override IBlauPoint clone() { IBlauPoint dupe = new QuantizedBlauPoint(this.Space, this._quantizer); for (int i = 0; i < this.Space.Dimension; i++) { dupe.setCoordinate(i, this.getCoordinate(i)); } return(dupe); }
// convert integral lattice coordinates to real blauspace coordinates private IBlauPoint getCurrentBlauPoint() { BlauPoint p = new QuantizedBlauPoint(this.BlauSpace, this); for (int i = 0; i < this.BlauSpace.Dimension; i++) { double coord = this.BlauSpace.getAxis(i).MinimumValue + ((double)this.getCoordinate(i) * getStepSize(i)); p.setCoordinate(i, coord); } return(p); }
// quantize a blaupoint with respect to this lattice public IBlauPoint quantize(IBlauPoint p) { if (p.Space != this.BlauSpace) { throw new Exception("BlauSpaceLattice is being requested to quantize a BlauPoint which lies in a foreign BlauSpace"); } IBlauPoint qp = new QuantizedBlauPoint(p.Space, this); for (int i = 0; i < p.Space.Dimension; i++) { double px = p.getCoordinate(i); // qp will quantize coordinates to this lattice qp.setCoordinate(i, px); } return(qp); }