using System; namespace Science.Physics.GeneralPhysics { /// /// Volume has the unit of meter cube. /// public class Volume : Scalar { public delegate Position Parameterization(double parameter1, double parameter2, double parameter3); private Volume.Parameterization g; public Volume(Volume.Parameterization parameterToPosition) { g = parameterToPosition; } public Volume.Parameterization ParameterToPosition { get { return g; } set { g = value; } } private void SetDim() { this.DimensionMass = 0; this.DimensionLength = 3; this.DimensionTime = 0; } public Volume() { SetDim(); Volume.Parameterization xx = new Volume.Parameterization(initial); g = xx; } public Volume(Length l, Length w, Length h) { SetDim(); this.Magnitude = l.m*w.m*h.m; } public double mCUBE { get{return this.Magnitude;} set{this.Magnitude = value;} } private double fx,fy,fz,tx,ty,tz; public double XFrom { get{return fx;} set { fx = value; start1 = fx; } } public double YFrom { get{return fy;} set { fy = value; start2 = fy; } } public double ZFrom { get{return fz;} set { fz = value; start3 = fz; } } public double XTo { get{return tx;} set { tx = value; end1 = tx; } } public double YTo { get{return ty;} set { ty = value; end2 = ty; } } public double ZTo { get{return tz;} set { tz = value; end3 = tz; } } private Position initial(double x, double y, double z) { Position r = new Position(); r.X = x; r.Y = y; r.Z = z; return r; } private double start1, end1; private double start2, end2; private double start3, end3; public double Parameter1StartValue { get{return start1;} set{start1=value;} } public double Parameter1EndValue { get{return end1;} set{end1=value;} } public double Parameter2StartValue { get{return start2;} set{start2=value;} } public double Parameter2EndValue { get{return end2;} set{end2=value;} } public double Parameter3StartValue { get{return start3;} set{start3=value;} } public double Parameter3EndValue { get{return end3;} set{end3=value;} } public override string ToString() { return base.ToString() + "(m^3)"; } } }