public void GetCylinderProperties_WhenShapeIsBox_HeightIsDeviantDimension(
            [Values(0f, 1f, 2f, 3f)] float sizeX,
            [Values(0f, 1f, 2f, 3f)] float sizeY,
            [Values(0f, 1f, 2f, 3f)] float sizeZ
            )
        {
            var size = new float3(sizeX, sizeY, sizeZ);

            m_Shape.SetBox(0f, size, quaternion.identity);

            m_Shape.GetCylinderProperties(out var center, out var height, out var radius, out quaternion orientation);

            var heightAxis = size.GetDeviantAxis();

            Assert.That(height, Is.EqualTo(size[heightAxis]));
        }
        public void GetCylinderProperties_WhenShapeIsBox_RadiusIsHalfMaxHomogenousDimension(
            [Values(0f, 1f, 2f, 3f)] float sizeX,
            [Values(0f, 1f, 2f, 3f)] float sizeY,
            [Values(0f, 1f, 2f, 3f)] float sizeZ
            )
        {
            var size = new float3(sizeX, sizeY, sizeZ);

            m_Shape.SetBox(0f, size, quaternion.identity);

            m_Shape.GetCylinderProperties(out var center, out var height, out var radius, out quaternion orientation);

            var heightAxis     = size.GetDeviantAxis();
            var expectedRadius = 0.5f * math.cmax(heightAxis == 0 ? size.yz : heightAxis == 1 ? size.xz : size.xy);

            Assert.That(radius, Is.EqualTo(expectedRadius));
        }
Exemplo n.º 3
0
        public void GetCylinderProperties_WhenShapeIsBox_HeightIsDeviantDimension(
            [Values(0f, 1f, 2f, 3f)] float sizeX,
            [Values(0f, 1f, 2f, 3f)] float sizeY,
            [Values(0f, 1f, 2f, 3f)] float sizeZ
            )
        {
            var size = new float3(sizeX, sizeY, sizeZ);

            m_Shape.SetBox(new BoxGeometry {
                Size = size, Orientation = quaternion.identity
            });

            var cylinder = m_Shape.GetCylinderProperties();

            var heightAxis = size.GetDeviantAxis();

            Assert.That(cylinder.Height, Is.EqualTo(size[heightAxis]));
        }