コード例 #1
0
        public void TestToPovCode1()
        {
            var myNum    = new PovNumber("myNum", 5);
            var declElem = new DeclareElement("myVar", myNum);

            Check.That(declElem.ToPovCode()).IsEqualTo("#declare myVar = myNum;");
        }
コード例 #2
0
        public void TestToPovCode4()
        {
            PovNumber myNum    = 1.234;
            var       declElem = new DeclareElement("myVar", myNum);

            Check.That(declElem.ToPovCode()).IsEqualTo("#declare myVar = 1.234;");
        }
コード例 #3
0
ファイル: PovSpline.cs プロジェクト: fremag/PovSharp
 public PovVector this[PovNumber value]
 {
     get
     {
         return(new PovVector($"{Name}({value.ToPovCode()})"));
     }
 }
コード例 #4
0
ファイル: NumberTests.cs プロジェクト: fremag/PovSharp
        public void TestEqualsOperator1()
        {
            PovNumber n1 = 5;
            PovNumber n2 = 5;

            Check.That(n1 == n2).IsTrue();
        }
コード例 #5
0
ファイル: NumberTests.cs プロジェクト: fremag/PovSharp
        public void TestEqualsOperator2()
        {
            PovNumber n1 = 5;
            PovNumber n2 = 4;

            Check.That(n1 == n2).IsFalse();
        }
コード例 #6
0
ファイル: NumberTests.cs プロジェクト: fremag/PovSharp
        public void TestValue()
        {
            var n = new PovNumber(5);

            Check.That(n.Name).IsNull();
            Check.That(n.Value).IsEqualTo(5);
        }
コード例 #7
0
ファイル: NumberTests.cs プロジェクト: fremag/PovSharp
        public void TestDoubleOperator()
        {
            PovNumber n = 5;

            Check.That(n.Name).IsNull();
            Check.That(n.Value).IsEqualTo(5);
        }
コード例 #8
0
ファイル: NumberTests.cs プロジェクト: fremag/PovSharp
        public void TestNotEqualsOperator2()
        {
            PovNumber n1 = 5;
            PovNumber n2 = 4;

            Check.That(n1 != n2).IsTrue();
        }
コード例 #9
0
ファイル: NumberTests.cs プロジェクト: fremag/PovSharp
        public void TestNotEqualsOperator1()
        {
            PovNumber n1 = 5;
            PovNumber n2 = 5;

            Check.That(n1 != n2).IsFalse();
        }
コード例 #10
0
ファイル: SphereSweep.cs プロジェクト: fremag/PovSharp
 public SphereSweep Add(PovVector center, PovNumber radius)
 {
     Elements.Add(new SphereSweepElement {
         Center = center, Radius = radius
     });
     return(this);
 }
コード例 #11
0
ファイル: NumberTests.cs プロジェクト: fremag/PovSharp
        public void TestPovCode()
        {
            PovNumber n = 5;

            Check.That(n.ToPovCode()).IsEqualTo("5");
            n = 5.2;
            Check.That(n.ToPovCode()).IsEqualTo("5.2");
        }
コード例 #12
0
ファイル: NumberTests.cs プロジェクト: fremag/PovSharp
        public void TestClone()
        {
            var n = new PovNumber(5);
            var m = n.Clone() as PovNumber;

            Check.That(m.Name).IsNull();
            Check.That(m.Value).IsEqualTo(5);
        }
コード例 #13
0
ファイル: NumberTests.cs プロジェクト: fremag/PovSharp
        public void TestEquals2()
        {
            PovNumber n = 5;

            Check.That(n.Equals(5.0)).IsTrue();
            Check.That(n.Equals(5)).IsTrue();
            Check.That(n.Equals(new PovNumber("test", 5))).IsTrue();
            Check.That(n.Equals(new PovNumber("test", 6))).IsFalse();
        }
コード例 #14
0
 public PovSplineTests()
 {
     n      = new PovNumber("n", 0.5);
     v      = new PovVector("v", 1, 2, 3);
     spline = new PovSpline("MySpline")
              .Add(0, new PovVector(0))
              .Add(n, v)
              .Add(1, new PovVector(3));
 }
コード例 #15
0
        public void TestConstructor2()
        {
            var myNum    = new PovNumber(5);
            var declElem = new DeclareElement("myVar", myNum);

            Check.That(declElem.Name).IsNull();
            Check.That(myNum.Name).IsEqualTo("myVar");
            Check.That(declElem.PovElement).IsEqualTo(myNum);
            Check.That(declElem.End).IsEqualTo(";");
        }
コード例 #16
0
ファイル: Blob.cs プロジェクト: fremag/PovSharp
        public Blob AddCylinder(PovVector end1, PovVector end2, PovNumber radius, PovNumber strength, params AbstractObjectModifier[] modifiers)
        {
            var cylinder = new CylinderBlobElement {
                End1 = end1, End2 = end2, Radius = radius, Strength = strength
            };

            cylinder.AddModifiers(modifiers);
            Elements.Add(cylinder);
            return(this);
        }
コード例 #17
0
ファイル: Blob.cs プロジェクト: fremag/PovSharp
        public Blob AddSphere(PovVector center, PovNumber radius, PovNumber strength, params AbstractObjectModifier[] modifiers)
        {
            var sphere = new SphereBlobElement {
                Center = center, Radius = radius, Strength = strength
            };

            sphere.AddModifiers(modifiers);
            Elements.Add(sphere);
            return(this);
        }
コード例 #18
0
        public void TestToPovCode5()
        {
            var       myNum  = new PovNumber("myNum", 5);
            PovVector myVect = new PovVector {
                X = myNum, Y = 2, Z = myNum
            };
            var declElem = new DeclareElement("myVar", myVect);

            Check.That(declElem.ToPovCode()).IsEqualTo("#declare myVar = < myNum, 2, myNum>;");
        }
コード例 #19
0
ファイル: VectorTests.cs プロジェクト: fremag/PovSharp
        public void TestToPovCode4()
        {
            var num = new PovNumber("myNum", 1);
            var v   = new PovVector()
            {
                X = num, Y = 2, Z = num
            };
            var povCode = v.ToPovCode();

            Check.That(povCode).IsEqualTo("< myNum, 2, myNum>");
        }
コード例 #20
0
        public void NumberPovListTest()
        {
            PovList <PovNumber> numbers = new PovList <PovNumber>();
            var n1 = new PovNumber(5);
            var n2 = new PovNumber("MyNumber", 1.234);
            var n3 = 3.14;

            numbers.Add(n1).Add(n2).Add(n3);

            Check.That(numbers.ToPovCode()).IsEqualTo("5, MyNumber, 3.14");
        }
コード例 #21
0
        public void TestToPovCode4()
        {
            var num = new PovNumber("myNum", 1);
            var v   = new Point2D()
            {
                X = num, Y = 2
            };
            var povCode = v.ToPovCode();

            Check.That(povCode).IsEqualTo("< myNum, 2>");
        }
コード例 #22
0
        public void TestToPovCodeWithName()
        {
            var distance = new PovNumber("d", 1.234);
            var normal   = new PovVector("normal", 1, 2, 3);
            var Plane    = new Plane("myPlane")
            {
                Distance = distance, Normal = normal
            };
            var povCode = Plane.ToPovCode();

            Check.That(povCode).IsEqualTo("plane {\n normal, d\n}");
        }
コード例 #23
0
ファイル: NumberTests.cs プロジェクト: fremag/PovSharp
        public void TestEqualsOperatorWithNullValues()
        {
            PovNumber n1 = 5;
            PovNumber n2 = null;

            Check.That(n1 == null).IsFalse();
            Check.That(n1 == n2).IsFalse();
            Check.That(null == n1).IsFalse();
            Check.That(n2 == n1).IsFalse();
            Check.That(n2 == null).IsTrue();
            Check.That(null == n2).IsTrue();
        }
コード例 #24
0
        public void TestToPovCodeWithName()
        {
            var radius = new PovNumber("r", 1.234);
            var center = new PovVector("center", 1, 2, 3);
            var sphere = new Sphere("mySphere")
            {
                Radius = radius, Center = center
            };
            var povCode = sphere.ToPovCode();

            Check.That(povCode).IsEqualTo("sphere {\n center, r\n}");
        }
コード例 #25
0
        public void TestPovColor3()
        {
            var red = new PovNumber("myRedComp", 0);
            var c   = new PovColor("myColor")
            {
                Red = red, Green = 1.0 / 2, Blue = 1.0 / 4
            };

            Check.That(c.Name).IsEqualTo("myColor");
            Check.That(c.Red).IsEqualTo(0);
            Check.That(c.Green).IsEqualTo(0.5);
            Check.That(c.Blue).IsEqualTo(0.25);
        }
コード例 #26
0
        public void TestToPovCodeWithName()
        {
            var center1   = new PovVector("c1", 1, 1, 1);
            var center2   = new PovVector("c2", -1, -1, -1);
            var threshold = new PovNumber("MyThreshold", 1);
            var strength  = new PovNumber("MyStrength", 2);
            var blob      = new Blob("myBlob")
            {
                Threshold = threshold
            };

            blob.AddSphere(center1, 1, strength);
            blob.AddCylinder(center2, new PovVector(0, 1, 0), 1, 2);
            var povCode = blob.ToPovCode();

            Check.That(povCode).IsEqualTo("blob {\n threshold MyThreshold\n sphere {\n c1, 1, strength MyStrength}\ncylinder {\n c2, < 0, 1, 0>, 1, strength 2}\n}");
        }
コード例 #27
0
        public void SphereSweepToPovCodeTest()
        {
            var n = new PovNumber("myNumber", 0.5);
            var v = new PovVector("myVector", 1, 0, 3);

            var sphereSweep = new SphereSweep()
            {
                SplineType = SphereSweep.CubicSpline
            }
            .Add(new PovVector(0), 0.5)
            .Add(new PovVector(-1), 1)
            .Add(new PovVector(1), 0.25)
            .Add(v, n)
            .Add(new PovVector(3, 0, 1), 1);

            var povCode = sphereSweep.ToPovCode();

            Check.That(povCode).IsEqualTo("sphere_sweep {\n cubic_spline\n 5\n < 0, 0, 0>, 0.5\n\n< -1, -1, -1>, 1\n\n< 1, 1, 1>, 0.25\n\nmyVector, myNumber\n\n< 3, 0, 1>, 1\n\n}");
        }
コード例 #28
0
 public SurfaceOfRevolution Add(PovNumber x, PovNumber y)
 {
     Points.Add(new Point2D(x, y));
     return(this);
 }
コード例 #29
0
 public Scale(PovNumber x, PovNumber y, PovNumber z) : base(x, y, z)
 {
 }
コード例 #30
0
ファイル: Prism.cs プロジェクト: fremag/PovSharp
 public Prism Add(PovNumber x, PovNumber y)
 {
     Points.Add(new Point2D(x, y));
     return(this);
 }