summaryrefslogtreecommitdiffstats
path: root/demos/declarative/teaservice
diff options
context:
space:
mode:
Diffstat (limited to 'demos/declarative/teaservice')
-rw-r--r--demos/declarative/teaservice/Teacup.qml68
-rw-r--r--demos/declarative/teaservice/Teaspoon.qml72
-rw-r--r--demos/declarative/teaservice/teacup.bez280
-rw-r--r--demos/declarative/teaservice/teapot-body.bez332
-rw-r--r--demos/declarative/teaservice/teapot-handle.bez312
-rw-r--r--demos/declarative/teaservice/teapot-spout.bez312
-rw-r--r--demos/declarative/teaservice/teaservice.qml382
-rw-r--r--demos/declarative/teaservice/teaservice.qmlproject16
-rw-r--r--demos/declarative/teaservice/teaspoon.bez275
9 files changed, 2049 insertions, 0 deletions
diff --git a/demos/declarative/teaservice/Teacup.qml b/demos/declarative/teaservice/Teacup.qml
new file mode 100644
index 000000000..f4c868253
--- /dev/null
+++ b/demos/declarative/teaservice/Teacup.qml
@@ -0,0 +1,68 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtQuick3D examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+import Qt3D 1.0
+
+Item3D {
+ id: top
+ property real spoonY
+ property bool bounce: false
+
+ Item3D {
+ mesh: teacup_mesh
+ effect: Effect {
+ material: china
+ }
+
+ onHoverEnter: { effect.material = china_highlight }
+ onHoverLeave: { effect.material = china }
+ onClicked: { top.bounce = true }
+
+ y: top.spoonY
+ }
+
+ SequentialAnimation on spoonY {
+ running: top.bounce
+ NumberAnimation { to : 1; duration: 300; easing.type:"OutQuad" }
+ NumberAnimation { to : 0; duration: 300; easing.type:"OutBounce" }
+ onCompleted: top.bounce = false
+ }
+}
diff --git a/demos/declarative/teaservice/Teaspoon.qml b/demos/declarative/teaservice/Teaspoon.qml
new file mode 100644
index 000000000..72125f4be
--- /dev/null
+++ b/demos/declarative/teaservice/Teaspoon.qml
@@ -0,0 +1,72 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtQuick3D examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+import Qt3D 1.0
+
+Item3D {
+ id: "top"
+ property real saucerY
+ Item3D {
+ id: teaspoon1
+ property real y_lift
+ y: Math.max(y_lift,top.saucerY)
+ transform: Rotation3D {
+ angle: 275
+ axis: Qt.vector3d(1, 0, 0)
+ }
+ mesh: teaspoon_mesh
+ effect: Effect {
+ material: metal
+ }
+ property bool bounce: false
+
+ onHoverEnter: { effect.material = metal_highlight }
+ onHoverLeave: { effect.material = metal }
+ onClicked: { teaspoon1.bounce = true }
+
+ SequentialAnimation on y_lift {
+ running: teaspoon1.bounce
+ NumberAnimation { to : 1; duration: 300; easing.type:"OutQuad" }
+ NumberAnimation { to : 0; duration: 300; easing.type:"OutBounce" }
+ onCompleted: teaspoon1.bounce = false
+ }
+ }
+}
diff --git a/demos/declarative/teaservice/teacup.bez b/demos/declarative/teaservice/teacup.bez
new file mode 100644
index 000000000..f4dde3efd
--- /dev/null
+++ b/demos/declarative/teaservice/teacup.bez
@@ -0,0 +1,280 @@
+26
+1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16
+4,17,18,19,8,20,21,22,12,23,24,25,16,26,27,28
+19,29,30,31,22,32,33,34,25,35,36,37,28,38,39,40
+31,41,42,1,34,43,44,5,37,45,46,9,40,47,48,13
+13,14,15,16,49,50,51,52,53,54,55,56,57,58,59,60
+16,26,27,28,52,61,62,63,56,64,65,66,60,67,68,69
+28,38,39,40,63,70,71,72,66,73,74,75,69,76,77,78
+40,47,48,13,72,79,80,49,75,81,82,53,78,83,84,57
+193,194,195,196,197,198,199,200,201,202,203,204,1,2,3,4
+196,205,206,207,200,208,209,210,204,211,212,213,4,17,18,19
+207,214,215,216,210,217,218,219,213,220,221,222,19,29,30,31
+216,223,224,193,219,225,226,197,222,227,228,201,31,41,42,1
+229,230,231,28,232,233,234,235,236,237,238,239,240,241,242,243
+28,244,245,229,235,246,247,232,239,248,249,236,243,250,251,240
+57,58,59,60,85,86,87,88,89,90,91,92,93,94,95,96
+60,67,68,69,88,97,98,99,92,100,101,102,96,103,104,105
+69,76,77,78,99,106,107,108,102,109,110,111,105,112,113,114
+78,83,84,57,108,115,116,85,111,117,118,89,114,119,120,93
+93,94,95,96,121,122,123,124,125,126,127,128,129,130,131,132
+96,103,104,105,124,133,134,135,128,136,137,138,132,139,140,141
+105,112,113,114,135,142,143,144,138,145,146,147,141,148,149,150
+114,119,120,93,144,151,152,121,147,153,154,125,150,155,156,129
+129,130,131,132,157,158,159,160,161,162,163,164,165,166,167,168
+132,139,140,141,160,169,170,171,164,172,173,174,168,175,176,177
+141,148,149,150,171,178,179,180,174,181,182,183,177,184,185,186
+150,155,156,129,180,187,188,157,183,189,190,161,186,191,192,165
+251
+0.409091,0.772727,0.0
+0.409091,0.772727,-0.229091
+0.229091,0.772727,-0.409091
+0.0,0.772727,-0.409091
+0.409091,0.886364,0.0
+0.409091,0.886364,-0.229091
+0.229091,0.886364,-0.409091
+0.0,0.886364,-0.409091
+0.454545,0.886364,0.0
+0.454545,0.886364,-0.254545
+0.254545,0.886364,-0.454545
+0.0,0.886364,-0.454545
+0.454545,0.772727,0.0
+0.454545,0.772727,-0.254545
+0.254545,0.772727,-0.454545
+0.0,0.772727,-0.454545
+-0.229091,0.772727,-0.409091
+-0.409091,0.772727,-0.229091
+-0.409091,0.772727,0.0
+-0.229091,0.886364,-0.409091
+-0.409091,0.886364,-0.229091
+-0.409091,0.886364,0.0
+-0.254545,0.886364,-0.454545
+-0.454545,0.886364,-0.254545
+-0.454545,0.886364,0.0
+-0.254545,0.772727,-0.454545
+-0.454545,0.772727,-0.254545
+-0.454545,0.772727,0.0
+-0.409091,0.772727,0.229091
+-0.229091,0.772727,0.409091
+0.0,0.772727,0.409091
+-0.409091,0.886364,0.229091
+-0.229091,0.886364,0.409091
+0.0,0.886364,0.409091
+-0.454545,0.886364,0.254545
+-0.254545,0.886364,0.454545
+0.0,0.886364,0.454545
+-0.454545,0.772727,0.254545
+-0.254545,0.772727,0.454545
+0.0,0.772727,0.454545
+0.229091,0.772727,0.409091
+0.409091,0.772727,0.229091
+0.229091,0.886364,0.409091
+0.409091,0.886364,0.229091
+0.254545,0.886364,0.454545
+0.454545,0.886364,0.254545
+0.254545,0.772727,0.454545
+0.454545,0.772727,0.254545
+0.454545,0.545455,0.0
+0.454545,0.545455,-0.254545
+0.254545,0.545455,-0.454545
+0.0,0.545455,-0.454545
+0.454545,0.272727,0.0
+0.454545,0.272727,-0.254545
+0.254545,0.272727,-0.454545
+0.0,0.272727,-0.454545
+0.318182,0.0454545,0.0
+0.318182,0.0454545,-0.178182
+0.178182,0.0454545,-0.318182
+0.0,0.0454545,-0.318182
+-0.254545,0.545455,-0.454545
+-0.454545,0.545455,-0.254545
+-0.454545,0.545455,0.0
+-0.254545,0.272727,-0.454545
+-0.454545,0.272727,-0.254545
+-0.454545,0.272727,0.0
+-0.178182,0.0454545,-0.318182
+-0.318182,0.0454545,-0.178182
+-0.318182,0.0454545,0.0
+-0.454545,0.545455,0.254545
+-0.254545,0.545455,0.454545
+0.0,0.545455,0.454545
+-0.454545,0.272727,0.254545
+-0.254545,0.272727,0.454545
+0.0,0.272727,0.454545
+-0.318182,0.0454545,0.178182
+-0.178182,0.0454545,0.318182
+0.0,0.0454545,0.318182
+0.254545,0.545455,0.454545
+0.454545,0.545455,0.254545
+0.254545,0.272727,0.454545
+0.454545,0.272727,0.254545
+0.178182,0.0454545,0.318182
+0.318182,0.0454545,0.178182
+0.545455,0.0454545,0.0
+0.545455,0.0454545,-0.305455
+0.305455,0.0454545,-0.545455
+0.0,0.0454545,-0.545455
+0.727273,0.136364,0.0
+0.727273,0.136364,-0.407273
+0.407273,0.136364,-0.727273
+0.0,0.136364,-0.727273
+0.909091,0.136364,0.0
+0.909091,0.136364,-0.509091
+0.509091,0.136364,-0.909091
+0.0,0.136364,-0.909091
+-0.305455,0.0454545,-0.545455
+-0.545455,0.0454545,-0.305455
+-0.545455,0.0454545,0.0
+-0.407273,0.136364,-0.727273
+-0.727273,0.136364,-0.407273
+-0.727273,0.136364,0.0
+-0.509091,0.136364,-0.909091
+-0.909091,0.136364,-0.509091
+-0.909091,0.136364,0.0
+-0.545455,0.0454545,0.305455
+-0.305455,0.0454545,0.545455
+0.0,0.0454545,0.545455
+-0.727273,0.136364,0.407273
+-0.407273,0.136364,0.727273
+0.0,0.136364,0.727273
+-0.909091,0.136364,0.509091
+-0.509091,0.136364,0.909091
+0.0,0.136364,0.909091
+0.305455,0.0454545,0.545455
+0.545455,0.0454545,0.305455
+0.407273,0.136364,0.727273
+0.727273,0.136364,0.407273
+0.509091,0.136364,0.909091
+0.909091,0.136364,0.509091
+1.0,0.136364,0.0
+1.0,0.136364,-0.56
+0.56,0.136364,-1.0
+0.0,0.136364,-1.0
+1.0,0.0909091,0.0
+1.0,0.0909091,-0.56
+0.56,0.0909091,-1.0
+0.0,0.0909091,-1.0
+0.909091,0.0909091,0.0
+0.909091,0.0909091,-0.509091
+0.509091,0.0909091,-0.909091
+0.0,0.0909091,-0.909091
+-0.56,0.136364,-1.0
+-1.0,0.136364,-0.56
+-1.0,0.136364,0.0
+-0.56,0.0909091,-1.0
+-1.0,0.0909091,-0.56
+-1.0,0.0909091,0.0
+-0.509091,0.0909091,-0.909091
+-0.909091,0.0909091,-0.509091
+-0.909091,0.0909091,0.0
+-1.0,0.136364,0.56
+-0.56,0.136364,1.0
+0.0,0.136364,1.0
+-1.0,0.0909091,0.56
+-0.56,0.0909091,1.0
+0.0,0.0909091,1.0
+-0.909091,0.0909091,0.509091
+-0.509091,0.0909091,0.909091
+0.0,0.0909091,0.909091
+0.56,0.136364,1.0
+1.0,0.136364,0.56
+0.56,0.0909091,1.0
+1.0,0.0909091,0.56
+0.509091,0.0909091,0.909091
+0.909091,0.0909091,0.509091
+0.727273,0.0909091,0.0
+0.727273,0.0909091,-0.407273
+0.407273,0.0909091,-0.727273
+0.0,0.0909091,-0.727273
+0.545455,0.0,0.0
+0.545455,0.0,-0.305455
+0.305455,0.0,-0.545455
+0.0,0.0,-0.545455
+0.318182,0.0,0.0
+0.318182,0.0,-0.178182
+0.178182,0.0,-0.318182
+0.0,0.0,-0.318182
+-0.407273,0.0909091,-0.727273
+-0.727273,0.0909091,-0.407273
+-0.727273,0.0909091,0.0
+-0.305455,0.0,-0.545455
+-0.545455,0.0,-0.305455
+-0.545455,0.0,0.0
+-0.178182,0.0,-0.318182
+-0.318182,0.0,-0.178182
+-0.318182,0.0,0.0
+-0.727273,0.0909091,0.407273
+-0.407273,0.0909091,0.727273
+0.0,0.0909091,0.727273
+-0.545455,0.0,0.305455
+-0.305455,0.0,0.545455
+0.0,0.0,0.545455
+-0.318182,0.0,0.178182
+-0.178182,0.0,0.318182
+0.0,0.0,0.318182
+0.407273,0.0909091,0.727273
+0.727273,0.0909091,0.407273
+0.305455,0.0,0.545455
+0.545455,0.0,0.305455
+0.178182,0.0,0.318182
+0.318182,0.0,0.178182
+0.272727,0.0454545,0.0
+0.272727,0.0454545,-0.152727
+0.152727,0.0454545,-0.272727
+0.0,0.0454545,-0.272727
+0.409091,0.272727,0.0
+0.409091,0.272727,-0.229091
+0.229091,0.272727,-0.409091
+0.0,0.272727,-0.409091
+0.409091,0.545455,0.0
+0.409091,0.545455,-0.229091
+0.229091,0.545455,-0.409091
+0.0,0.545455,-0.409091
+-0.152727,0.0454545,-0.272727
+-0.272727,0.0454545,-0.152727
+-0.272727,0.0454545,0.0
+-0.229091,0.272727,-0.409091
+-0.409091,0.272727,-0.229091
+-0.409091,0.272727,0.0
+-0.229091,0.545455,-0.409091
+-0.409091,0.545455,-0.229091
+-0.409091,0.545455,0.0
+-0.272727,0.0454545,0.152727
+-0.152727,0.0454545,0.272727
+0.0,0.0454545,0.272727
+-0.409091,0.272727,0.229091
+-0.229091,0.272727,0.409091
+0.0,0.272727,0.409091
+-0.409091,0.545455,0.229091
+-0.229091,0.545455,0.409091
+0.0,0.545455,0.409091
+0.152727,0.0454545,0.272727
+0.272727,0.0454545,0.152727
+0.229091,0.272727,0.409091
+0.409091,0.272727,0.229091
+0.229091,0.545455,0.409091
+0.409091,0.545455,0.229091
+-0.454545,0.704545,0.0
+-0.454545,0.704545,-0.0454545
+-0.454545,0.772727,-0.0454545
+-0.772727,0.863636,0.0
+-0.772727,0.863636,-0.0454545
+-0.818182,0.954545,-0.0454545
+-0.818182,0.954545,0.0
+-0.772727,0.522727,0.0
+-0.772727,0.522727,-0.0454545
+-0.909091,0.477273,-0.0454545
+-0.909091,0.477273,0.0
+-0.409091,0.363636,0.0
+-0.409091,0.363636,-0.0454545
+-0.409091,0.295455,-0.0454545
+-0.409091,0.295455,0.0
+-0.454545,0.772727,0.0454545
+-0.454545,0.704545,0.0454545
+-0.818182,0.954545,0.0454545
+-0.772727,0.863636,0.0454545
+-0.909091,0.477273,0.0454545
+-0.772727,0.522727,0.0454545
+-0.409091,0.295455,0.0454545
+-0.409091,0.363636,0.0454545
+# reverse-patches
diff --git a/demos/declarative/teaservice/teapot-body.bez b/demos/declarative/teaservice/teapot-body.bez
new file mode 100644
index 000000000..614daf09b
--- /dev/null
+++ b/demos/declarative/teaservice/teapot-body.bez
@@ -0,0 +1,332 @@
+24
+1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16
+4,17,18,19,8,20,21,22,12,23,24,25,16,26,27,28
+19,29,30,31,22,32,33,34,25,35,36,37,28,38,39,40
+31,41,42,1,34,43,44,5,37,45,46,9,40,47,48,13
+13,14,15,16,49,50,51,52,53,54,55,56,57,58,59,60
+16,26,27,28,52,61,62,63,56,64,65,66,60,67,68,69
+28,38,39,40,63,70,71,72,66,73,74,75,69,76,77,78
+40,47,48,13,72,79,80,49,75,81,82,53,78,83,84,57
+57,58,59,60,85,86,87,88,89,90,91,92,93,94,95,96
+60,67,68,69,88,97,98,99,92,100,101,102,96,103,104,105
+69,76,77,78,99,106,107,108,102,109,110,111,105,112,113,114
+78,83,84,57,108,115,116,85,111,117,118,89,114,119,120,93
+204,204,204,204,207,208,209,210,211,211,211,211,212,213,214,215,4
+204,204,204,204,210,217,218,219,211,211,211,211,215,220,221,222,4
+204,204,204,204,219,224,225,226,211,211,211,211,222,227,228,229,4
+204,204,204,204,226,230,231,207,211,211,211,211,229,232,233,212,4
+212,213,214,215,234,235,236,237,238,239,240,241,242,243,244,245
+215,220,221,222,237,246,247,248,241,249,250,251,245,252,253,254
+222,227,228,229,248,255,256,257,251,258,259,260,254,261,262,263
+229,232,233,212,257,264,265,234,260,266,267,238,263,268,269,242
+270,270,270,270,279,280,281,282,275,276,277,278,271,272,273,274,4
+270,270,270,270,282,289,290,291,278,286,287,288,274,283,284,285,4
+270,270,270,270,291,298,299,300,288,295,296,297,285,292,293,294,4
+270,270,270,270,300,305,306,279,297,303,304,275,294,301,302,271,4
+306
+0.700000,0.450000,-0.000000
+0.700000,0.450000,0.392000
+0.392000,0.450000,0.700000
+0.000000,0.450000,0.700000
+0.668750,0.515625,-0.000000
+0.668750,0.515625,0.374500
+0.374500,0.515625,0.668750
+0.000000,0.515625,0.668750
+0.718750,0.515625,-0.000000
+0.718750,0.515625,0.402500
+0.402500,0.515625,0.718750
+0.000000,0.515625,0.718750
+0.750000,0.450000,-0.000000
+0.750000,0.450000,0.420000
+0.420000,0.450000,0.750000
+0.000000,0.450000,0.750000
+-0.392000,0.450000,0.700000
+-0.700000,0.450000,0.392000
+-0.700000,0.450000,-0.000000
+-0.374500,0.515625,0.668750
+-0.668750,0.515625,0.374500
+-0.668750,0.515625,-0.000000
+-0.402500,0.515625,0.718750
+-0.718750,0.515625,0.402500
+-0.718750,0.515625,-0.000000
+-0.420000,0.450000,0.750000
+-0.750000,0.450000,0.420000
+-0.750000,0.450000,-0.000000
+-0.700000,0.450000,-0.392000
+-0.392000,0.450000,-0.700000
+0.000000,0.450000,-0.700000
+-0.668750,0.515625,-0.374500
+-0.374500,0.515625,-0.668750
+0.000000,0.515625,-0.668750
+-0.718750,0.515625,-0.402500
+-0.402500,0.515625,-0.718750
+0.000000,0.515625,-0.718750
+-0.750000,0.450000,-0.420000
+-0.420000,0.450000,-0.750000
+0.000000,0.450000,-0.750000
+0.392000,0.450000,-0.700000
+0.700000,0.450000,-0.392000
+0.374500,0.515625,-0.668750
+0.668750,0.515625,-0.374500
+0.402500,0.515625,-0.718750
+0.718750,0.515625,-0.402500
+0.420000,0.450000,-0.750000
+0.750000,0.450000,-0.420000
+0.875000,0.187500,-0.000000
+0.875000,0.187500,0.490000
+0.490000,0.187500,0.875000
+0.000000,0.187500,0.875000
+1.000000,-0.075000,-0.000000
+1.000000,-0.075000,0.560000
+0.560000,-0.075000,1.000000
+0.000000,-0.075000,1.000000
+1.000000,-0.300000,-0.000000
+1.000000,-0.300000,0.560000
+0.560000,-0.300000,1.000000
+0.000000,-0.300000,1.000000
+-0.490000,0.187500,0.875000
+-0.875000,0.187500,0.490000
+-0.875000,0.187500,-0.000000
+-0.560000,-0.075000,1.000000
+-1.000000,-0.075000,0.560000
+-1.000000,-0.075000,-0.000000
+-0.560000,-0.300000,1.000000
+-1.000000,-0.300000,0.560000
+-1.000000,-0.300000,-0.000000
+-0.875000,0.187500,-0.490000
+-0.490000,0.187500,-0.875000
+0.000000,0.187500,-0.875000
+-1.000000,-0.075000,-0.560000
+-0.560000,-0.075000,-1.000000
+0.000000,-0.075000,-1.000000
+-1.000000,-0.300000,-0.560000
+-0.560000,-0.300000,-1.000000
+0.000000,-0.300000,-1.000000
+0.490000,0.187500,-0.875000
+0.875000,0.187500,-0.490000
+0.560000,-0.075000,-1.000000
+1.000000,-0.075000,-0.560000
+0.560000,-0.300000,-1.000000
+1.000000,-0.300000,-0.560000
+1.000000,-0.525000,-0.000000
+1.000000,-0.525000,0.560000
+0.560000,-0.525000,1.000000
+0.000000,-0.525000,1.000000
+0.750000,-0.637500,-0.000000
+0.750000,-0.637500,0.420000
+0.420000,-0.637500,0.750000
+0.000000,-0.637500,0.750000
+0.750000,-0.675000,-0.000000
+0.750000,-0.675000,0.420000
+0.420000,-0.675000,0.750000
+0.000000,-0.675000,0.750000
+-0.560000,-0.525000,1.000000
+-1.000000,-0.525000,0.560000
+-1.000000,-0.525000,-0.000000
+-0.420000,-0.637500,0.750000
+-0.750000,-0.637500,0.420000
+-0.750000,-0.637500,-0.000000
+-0.420000,-0.675000,0.750000
+-0.750000,-0.675000,0.420000
+-0.750000,-0.675000,-0.000000
+-1.000000,-0.525000,-0.560000
+-0.560000,-0.525000,-1.000000
+0.000000,-0.525000,-1.000000
+-0.750000,-0.637500,-0.420000
+-0.420000,-0.637500,-0.750000
+0.000000,-0.637500,-0.750000
+-0.750000,-0.675000,-0.420000
+-0.420000,-0.675000,-0.750000
+0.000000,-0.675000,-0.750000
+0.560000,-0.525000,-1.000000
+1.000000,-0.525000,-0.560000
+0.420000,-0.637500,-0.750000
+0.750000,-0.637500,-0.420000
+0.420000,-0.675000,-0.750000
+0.750000,-0.675000,-0.420000
+-0.800000,0.262500,-0.000000
+-0.800000,0.262500,0.150000
+-0.750000,0.375000,0.150000
+-0.750000,0.375000,-0.000000
+-1.150000,0.262500,-0.000000
+-1.150000,0.262500,0.150000
+-1.250000,0.375000,0.150000
+-1.250000,0.375000,-0.000000
+-1.350000,0.262500,-0.000000
+-1.350000,0.262500,0.150000
+-1.500000,0.375000,0.150000
+-1.500000,0.375000,-0.000000
+-1.350000,0.150000,-0.000000
+-1.350000,0.150000,0.150000
+-1.500000,0.150000,0.150000
+-1.500000,0.150000,-0.000000
+-0.750000,0.375000,-0.150000
+-0.800000,0.262500,-0.150000
+-1.250000,0.375000,-0.150000
+-1.150000,0.262500,-0.150000
+-1.500000,0.375000,-0.150000
+-1.350000,0.262500,-0.150000
+-1.500000,0.150000,-0.150000
+-1.350000,0.150000,-0.150000
+-1.350000,0.037500,-0.000000
+-1.350000,0.037500,0.150000
+-1.500000,-0.075000,0.150000
+-1.500000,-0.075000,-0.000000
+-1.250000,-0.187500,-0.000000
+-1.250000,-0.187500,0.150000
+-1.325000,-0.281250,0.150000
+-1.325000,-0.281250,-0.000000
+-1.000000,-0.300000,0.150000
+-0.950000,-0.450000,0.150000
+-0.950000,-0.450000,-0.000000
+-1.500000,-0.075000,-0.150000
+-1.350000,0.037500,-0.150000
+-1.325000,-0.281250,-0.150000
+-1.250000,-0.187500,-0.150000
+-0.950000,-0.450000,-0.150000
+-1.000000,-0.300000,-0.150000
+0.850000,-0.037500,-0.000000
+0.850000,-0.037500,0.330000
+0.850000,-0.450000,0.330000
+0.850000,-0.450000,-0.000000
+1.300000,-0.037500,-0.000000
+1.300000,-0.037500,0.330000
+1.550000,-0.337500,0.330000
+1.550000,-0.337500,-0.000000
+1.150000,0.300000,-0.000000
+1.150000,0.300000,0.125000
+1.200000,0.262500,0.125000
+1.200000,0.262500,-0.000000
+1.350000,0.450000,-0.000000
+1.350000,0.450000,0.125000
+1.650000,0.450000,0.125000
+1.650000,0.450000,-0.000000
+0.850000,-0.450000,-0.330000
+0.850000,-0.037500,-0.330000
+1.550000,-0.337500,-0.330000
+1.300000,-0.037500,-0.330000
+1.200000,0.262500,-0.125000
+1.150000,0.300000,-0.125000
+1.650000,0.450000,-0.125000
+1.350000,0.450000,-0.125000
+1.400000,0.487500,-0.000000
+1.400000,0.487500,0.125000
+1.762500,0.496875,0.125000
+1.762500,0.496875,-0.000000
+1.450000,0.487500,-0.000000
+1.450000,0.487500,0.075000
+1.725000,0.506250,0.075000
+1.725000,0.506250,-0.000000
+1.400000,0.450000,-0.000000
+1.400000,0.450000,0.075000
+1.600000,0.450000,0.075000
+1.600000,0.450000,-0.000000
+1.762500,0.496875,-0.125000
+1.400000,0.487500,-0.125000
+1.725000,0.506250,-0.075000
+1.450000,0.487500,-0.075000
+1.600000,0.450000,-0.075000
+1.400000,0.450000,-0.075000
+0.000000,0.825000,-0.000000
+0.000000,0.825000,0.001000
+0.001000,0.825000,-0.000000
+0.400000,0.825000,-0.000000
+0.400000,0.825000,0.225000
+0.225000,0.825000,0.400000
+0.000000,0.825000,0.400000
+0.000000,0.675000,-0.000000
+0.100000,0.600000,-0.000000
+0.100000,0.600000,0.056000
+0.056000,0.600000,0.100000
+0.000000,0.600000,0.100000
+-0.001000,0.825000,-0.000000
+-0.225000,0.825000,0.400000
+-0.400000,0.825000,0.225000
+-0.400000,0.825000,-0.000000
+-0.056000,0.600000,0.100000
+-0.100000,0.600000,0.056000
+-0.100000,0.600000,-0.000000
+0.000000,0.825000,-0.001000
+-0.400000,0.825000,-0.225000
+-0.225000,0.825000,-0.400000
+0.000000,0.825000,-0.400000
+-0.100000,0.600000,-0.056000
+-0.056000,0.600000,-0.100000
+0.000000,0.600000,-0.100000
+0.225000,0.825000,-0.400000
+0.400000,0.825000,-0.225000
+0.056000,0.600000,-0.100000
+0.100000,0.600000,-0.056000
+0.200000,0.525000,-0.000000
+0.200000,0.525000,0.112000
+0.112000,0.525000,0.200000
+0.000000,0.525000,0.200000
+0.650000,0.525000,-0.000000
+0.650000,0.525000,0.364000
+0.364000,0.525000,0.650000
+0.000000,0.525000,0.650000
+0.650000,0.450000,-0.000000
+0.650000,0.450000,0.364000
+0.364000,0.450000,0.650000
+0.000000,0.450000,0.650000
+-0.112000,0.525000,0.200000
+-0.200000,0.525000,0.112000
+-0.200000,0.525000,-0.000000
+-0.364000,0.525000,0.650000
+-0.650000,0.525000,0.364000
+-0.650000,0.525000,-0.000000
+-0.364000,0.450000,0.650000
+-0.650000,0.450000,0.364000
+-0.650000,0.450000,-0.000000
+-0.200000,0.525000,-0.112000
+-0.112000,0.525000,-0.200000
+0.000000,0.525000,-0.200000
+-0.650000,0.525000,-0.364000
+-0.364000,0.525000,-0.650000
+0.000000,0.525000,-0.650000
+-0.650000,0.450000,-0.364000
+-0.364000,0.450000,-0.650000
+0.000000,0.450000,-0.650000
+0.112000,0.525000,-0.200000
+0.200000,0.525000,-0.112000
+0.364000,0.525000,-0.650000
+0.650000,0.525000,-0.364000
+0.364000,0.450000,-0.650000
+0.650000,0.450000,-0.364000
+0.000000,-0.750000,-0.000000
+0.750000,-0.675000,-0.000000
+0.750000,-0.675000,-0.420000
+0.420000,-0.675000,-0.750000
+0.000000,-0.675000,-0.750000
+0.750000,-0.712500,-0.000000
+0.750000,-0.712500,-0.420000
+0.420000,-0.712500,-0.750000
+0.000000,-0.712500,-0.750000
+0.712500,-0.750000,-0.000000
+0.712500,-0.750000,-0.399000
+0.399000,-0.750000,-0.712500
+0.000000,-0.750000,-0.712500
+-0.420000,-0.675000,-0.750000
+-0.750000,-0.675000,-0.420000
+-0.750000,-0.675000,-0.000000
+-0.420000,-0.712500,-0.750000
+-0.750000,-0.712500,-0.420000
+-0.750000,-0.712500,-0.000000
+-0.399000,-0.750000,-0.712500
+-0.712500,-0.750000,-0.399000
+-0.712500,-0.750000,-0.000000
+-0.750000,-0.675000,0.420000
+-0.420000,-0.675000,0.750000
+0.000000,-0.675000,0.750000
+-0.750000,-0.712500,0.420000
+-0.420000,-0.712500,0.750000
+0.000000,-0.712500,0.750000
+-0.712500,-0.750000,0.399000
+-0.399000,-0.750000,0.712500
+0.000000,-0.750000,0.712500
+0.420000,-0.675000,0.750000
+0.750000,-0.675000,0.420000
+0.420000,-0.712500,0.750000
+0.750000,-0.712500,0.420000
+0.399000,-0.750000,0.712500
+0.712500,-0.750000,0.399000
diff --git a/demos/declarative/teaservice/teapot-handle.bez b/demos/declarative/teaservice/teapot-handle.bez
new file mode 100644
index 000000000..a2a3503ec
--- /dev/null
+++ b/demos/declarative/teaservice/teapot-handle.bez
@@ -0,0 +1,312 @@
+4
+121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136
+124,137,138,121,128,139,140,125,132,141,142,129,136,143,144,133
+133,134,135,136,145,146,147,148,149,150,151,152,69,153,154,155
+136,143,144,133,148,156,157,145,152,158,159,149,155,160,161,69
+306
+0.700000,0.450000,-0.000000
+0.700000,0.450000,0.392000
+0.392000,0.450000,0.700000
+0.000000,0.450000,0.700000
+0.668750,0.515625,-0.000000
+0.668750,0.515625,0.374500
+0.374500,0.515625,0.668750
+0.000000,0.515625,0.668750
+0.718750,0.515625,-0.000000
+0.718750,0.515625,0.402500
+0.402500,0.515625,0.718750
+0.000000,0.515625,0.718750
+0.750000,0.450000,-0.000000
+0.750000,0.450000,0.420000
+0.420000,0.450000,0.750000
+0.000000,0.450000,0.750000
+-0.392000,0.450000,0.700000
+-0.700000,0.450000,0.392000
+-0.700000,0.450000,-0.000000
+-0.374500,0.515625,0.668750
+-0.668750,0.515625,0.374500
+-0.668750,0.515625,-0.000000
+-0.402500,0.515625,0.718750
+-0.718750,0.515625,0.402500
+-0.718750,0.515625,-0.000000
+-0.420000,0.450000,0.750000
+-0.750000,0.450000,0.420000
+-0.750000,0.450000,-0.000000
+-0.700000,0.450000,-0.392000
+-0.392000,0.450000,-0.700000
+0.000000,0.450000,-0.700000
+-0.668750,0.515625,-0.374500
+-0.374500,0.515625,-0.668750
+0.000000,0.515625,-0.668750
+-0.718750,0.515625,-0.402500
+-0.402500,0.515625,-0.718750
+0.000000,0.515625,-0.718750
+-0.750000,0.450000,-0.420000
+-0.420000,0.450000,-0.750000
+0.000000,0.450000,-0.750000
+0.392000,0.450000,-0.700000
+0.700000,0.450000,-0.392000
+0.374500,0.515625,-0.668750
+0.668750,0.515625,-0.374500
+0.402500,0.515625,-0.718750
+0.718750,0.515625,-0.402500
+0.420000,0.450000,-0.750000
+0.750000,0.450000,-0.420000
+0.875000,0.187500,-0.000000
+0.875000,0.187500,0.490000
+0.490000,0.187500,0.875000
+0.000000,0.187500,0.875000
+1.000000,-0.075000,-0.000000
+1.000000,-0.075000,0.560000
+0.560000,-0.075000,1.000000
+0.000000,-0.075000,1.000000
+1.000000,-0.300000,-0.000000
+1.000000,-0.300000,0.560000
+0.560000,-0.300000,1.000000
+0.000000,-0.300000,1.000000
+-0.490000,0.187500,0.875000
+-0.875000,0.187500,0.490000
+-0.875000,0.187500,-0.000000
+-0.560000,-0.075000,1.000000
+-1.000000,-0.075000,0.560000
+-1.000000,-0.075000,-0.000000
+-0.560000,-0.300000,1.000000
+-1.000000,-0.300000,0.560000
+-1.000000,-0.300000,-0.000000
+-0.875000,0.187500,-0.490000
+-0.490000,0.187500,-0.875000
+0.000000,0.187500,-0.875000
+-1.000000,-0.075000,-0.560000
+-0.560000,-0.075000,-1.000000
+0.000000,-0.075000,-1.000000
+-1.000000,-0.300000,-0.560000
+-0.560000,-0.300000,-1.000000
+0.000000,-0.300000,-1.000000
+0.490000,0.187500,-0.875000
+0.875000,0.187500,-0.490000
+0.560000,-0.075000,-1.000000
+1.000000,-0.075000,-0.560000
+0.560000,-0.300000,-1.000000
+1.000000,-0.300000,-0.560000
+1.000000,-0.525000,-0.000000
+1.000000,-0.525000,0.560000
+0.560000,-0.525000,1.000000
+0.000000,-0.525000,1.000000
+0.750000,-0.637500,-0.000000
+0.750000,-0.637500,0.420000
+0.420000,-0.637500,0.750000
+0.000000,-0.637500,0.750000
+0.750000,-0.675000,-0.000000
+0.750000,-0.675000,0.420000
+0.420000,-0.675000,0.750000
+0.000000,-0.675000,0.750000
+-0.560000,-0.525000,1.000000
+-1.000000,-0.525000,0.560000
+-1.000000,-0.525000,-0.000000
+-0.420000,-0.637500,0.750000
+-0.750000,-0.637500,0.420000
+-0.750000,-0.637500,-0.000000
+-0.420000,-0.675000,0.750000
+-0.750000,-0.675000,0.420000
+-0.750000,-0.675000,-0.000000
+-1.000000,-0.525000,-0.560000
+-0.560000,-0.525000,-1.000000
+0.000000,-0.525000,-1.000000
+-0.750000,-0.637500,-0.420000
+-0.420000,-0.637500,-0.750000
+0.000000,-0.637500,-0.750000
+-0.750000,-0.675000,-0.420000
+-0.420000,-0.675000,-0.750000
+0.000000,-0.675000,-0.750000
+0.560000,-0.525000,-1.000000
+1.000000,-0.525000,-0.560000
+0.420000,-0.637500,-0.750000
+0.750000,-0.637500,-0.420000
+0.420000,-0.675000,-0.750000
+0.750000,-0.675000,-0.420000
+-0.800000,0.262500,-0.000000
+-0.800000,0.262500,0.150000
+-0.750000,0.375000,0.150000
+-0.750000,0.375000,-0.000000
+-1.150000,0.262500,-0.000000
+-1.150000,0.262500,0.150000
+-1.250000,0.375000,0.150000
+-1.250000,0.375000,-0.000000
+-1.350000,0.262500,-0.000000
+-1.350000,0.262500,0.150000
+-1.500000,0.375000,0.150000
+-1.500000,0.375000,-0.000000
+-1.350000,0.150000,-0.000000
+-1.350000,0.150000,0.150000
+-1.500000,0.150000,0.150000
+-1.500000,0.150000,-0.000000
+-0.750000,0.375000,-0.150000
+-0.800000,0.262500,-0.150000
+-1.250000,0.375000,-0.150000
+-1.150000,0.262500,-0.150000
+-1.500000,0.375000,-0.150000
+-1.350000,0.262500,-0.150000
+-1.500000,0.150000,-0.150000
+-1.350000,0.150000,-0.150000
+-1.350000,0.037500,-0.000000
+-1.350000,0.037500,0.150000
+-1.500000,-0.075000,0.150000
+-1.500000,-0.075000,-0.000000
+-1.250000,-0.187500,-0.000000
+-1.250000,-0.187500,0.150000
+-1.325000,-0.281250,0.150000
+-1.325000,-0.281250,-0.000000
+-1.000000,-0.300000,0.150000
+-0.950000,-0.450000,0.150000
+-0.950000,-0.450000,-0.000000
+-1.500000,-0.075000,-0.150000
+-1.350000,0.037500,-0.150000
+-1.325000,-0.281250,-0.150000
+-1.250000,-0.187500,-0.150000
+-0.950000,-0.450000,-0.150000
+-1.000000,-0.300000,-0.150000
+0.850000,-0.037500,-0.000000
+0.850000,-0.037500,0.330000
+0.850000,-0.450000,0.330000
+0.850000,-0.450000,-0.000000
+1.300000,-0.037500,-0.000000
+1.300000,-0.037500,0.330000
+1.550000,-0.337500,0.330000
+1.550000,-0.337500,-0.000000
+1.150000,0.300000,-0.000000
+1.150000,0.300000,0.125000
+1.200000,0.262500,0.125000
+1.200000,0.262500,-0.000000
+1.350000,0.450000,-0.000000
+1.350000,0.450000,0.125000
+1.650000,0.450000,0.125000
+1.650000,0.450000,-0.000000
+0.850000,-0.450000,-0.330000
+0.850000,-0.037500,-0.330000
+1.550000,-0.337500,-0.330000
+1.300000,-0.037500,-0.330000
+1.200000,0.262500,-0.125000
+1.150000,0.300000,-0.125000
+1.650000,0.450000,-0.125000
+1.350000,0.450000,-0.125000
+1.400000,0.487500,-0.000000
+1.400000,0.487500,0.125000
+1.762500,0.496875,0.125000
+1.762500,0.496875,-0.000000
+1.450000,0.487500,-0.000000
+1.450000,0.487500,0.075000
+1.725000,0.506250,0.075000
+1.725000,0.506250,-0.000000
+1.400000,0.450000,-0.000000
+1.400000,0.450000,0.075000
+1.600000,0.450000,0.075000
+1.600000,0.450000,-0.000000
+1.762500,0.496875,-0.125000
+1.400000,0.487500,-0.125000
+1.725000,0.506250,-0.075000
+1.450000,0.487500,-0.075000
+1.600000,0.450000,-0.075000
+1.400000,0.450000,-0.075000
+0.000000,0.825000,-0.000000
+0.000000,0.825000,0.001000
+0.001000,0.825000,-0.000000
+0.400000,0.825000,-0.000000
+0.400000,0.825000,0.225000
+0.225000,0.825000,0.400000
+0.000000,0.825000,0.400000
+0.000000,0.675000,-0.000000
+0.100000,0.600000,-0.000000
+0.100000,0.600000,0.056000
+0.056000,0.600000,0.100000
+0.000000,0.600000,0.100000
+-0.001000,0.825000,-0.000000
+-0.225000,0.825000,0.400000
+-0.400000,0.825000,0.225000
+-0.400000,0.825000,-0.000000
+-0.056000,0.600000,0.100000
+-0.100000,0.600000,0.056000
+-0.100000,0.600000,-0.000000
+0.000000,0.825000,-0.001000
+-0.400000,0.825000,-0.225000
+-0.225000,0.825000,-0.400000
+0.000000,0.825000,-0.400000
+-0.100000,0.600000,-0.056000
+-0.056000,0.600000,-0.100000
+0.000000,0.600000,-0.100000
+0.225000,0.825000,-0.400000
+0.400000,0.825000,-0.225000
+0.056000,0.600000,-0.100000
+0.100000,0.600000,-0.056000
+0.200000,0.525000,-0.000000
+0.200000,0.525000,0.112000
+0.112000,0.525000,0.200000
+0.000000,0.525000,0.200000
+0.650000,0.525000,-0.000000
+0.650000,0.525000,0.364000
+0.364000,0.525000,0.650000
+0.000000,0.525000,0.650000
+0.650000,0.450000,-0.000000
+0.650000,0.450000,0.364000
+0.364000,0.450000,0.650000
+0.000000,0.450000,0.650000
+-0.112000,0.525000,0.200000
+-0.200000,0.525000,0.112000
+-0.200000,0.525000,-0.000000
+-0.364000,0.525000,0.650000
+-0.650000,0.525000,0.364000
+-0.650000,0.525000,-0.000000
+-0.364000,0.450000,0.650000
+-0.650000,0.450000,0.364000
+-0.650000,0.450000,-0.000000
+-0.200000,0.525000,-0.112000
+-0.112000,0.525000,-0.200000
+0.000000,0.525000,-0.200000
+-0.650000,0.525000,-0.364000
+-0.364000,0.525000,-0.650000
+0.000000,0.525000,-0.650000
+-0.650000,0.450000,-0.364000
+-0.364000,0.450000,-0.650000
+0.000000,0.450000,-0.650000
+0.112000,0.525000,-0.200000
+0.200000,0.525000,-0.112000
+0.364000,0.525000,-0.650000
+0.650000,0.525000,-0.364000
+0.364000,0.450000,-0.650000
+0.650000,0.450000,-0.364000
+0.000000,-0.750000,-0.000000
+0.750000,-0.675000,-0.000000
+0.750000,-0.675000,-0.420000
+0.420000,-0.675000,-0.750000
+0.000000,-0.675000,-0.750000
+0.750000,-0.712500,-0.000000
+0.750000,-0.712500,-0.420000
+0.420000,-0.712500,-0.750000
+0.000000,-0.712500,-0.750000
+0.712500,-0.750000,-0.000000
+0.712500,-0.750000,-0.399000
+0.399000,-0.750000,-0.712500
+0.000000,-0.750000,-0.712500
+-0.420000,-0.675000,-0.750000
+-0.750000,-0.675000,-0.420000
+-0.750000,-0.675000,-0.000000
+-0.420000,-0.712500,-0.750000
+-0.750000,-0.712500,-0.420000
+-0.750000,-0.712500,-0.000000
+-0.399000,-0.750000,-0.712500
+-0.712500,-0.750000,-0.399000
+-0.712500,-0.750000,-0.000000
+-0.750000,-0.675000,0.420000
+-0.420000,-0.675000,0.750000
+0.000000,-0.675000,0.750000
+-0.750000,-0.712500,0.420000
+-0.420000,-0.712500,0.750000
+0.000000,-0.712500,0.750000
+-0.712500,-0.750000,0.399000
+-0.399000,-0.750000,0.712500
+0.000000,-0.750000,0.712500
+0.420000,-0.675000,0.750000
+0.750000,-0.675000,0.420000
+0.420000,-0.712500,0.750000
+0.750000,-0.712500,0.420000
+0.399000,-0.750000,0.712500
+0.712500,-0.750000,0.399000
diff --git a/demos/declarative/teaservice/teapot-spout.bez b/demos/declarative/teaservice/teapot-spout.bez
new file mode 100644
index 000000000..7674812ea
--- /dev/null
+++ b/demos/declarative/teaservice/teapot-spout.bez
@@ -0,0 +1,312 @@
+4
+162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177
+165,178,179,162,169,180,181,166,173,182,183,170,177,184,185,174
+174,175,176,177,186,187,188,189,190,191,192,193,194,195,196,197
+177,184,185,174,189,198,199,186,193,200,201,190,197,202,203,194
+306
+0.700000,0.450000,-0.000000
+0.700000,0.450000,0.392000
+0.392000,0.450000,0.700000
+0.000000,0.450000,0.700000
+0.668750,0.515625,-0.000000
+0.668750,0.515625,0.374500
+0.374500,0.515625,0.668750
+0.000000,0.515625,0.668750
+0.718750,0.515625,-0.000000
+0.718750,0.515625,0.402500
+0.402500,0.515625,0.718750
+0.000000,0.515625,0.718750
+0.750000,0.450000,-0.000000
+0.750000,0.450000,0.420000
+0.420000,0.450000,0.750000
+0.000000,0.450000,0.750000
+-0.392000,0.450000,0.700000
+-0.700000,0.450000,0.392000
+-0.700000,0.450000,-0.000000
+-0.374500,0.515625,0.668750
+-0.668750,0.515625,0.374500
+-0.668750,0.515625,-0.000000
+-0.402500,0.515625,0.718750
+-0.718750,0.515625,0.402500
+-0.718750,0.515625,-0.000000
+-0.420000,0.450000,0.750000
+-0.750000,0.450000,0.420000
+-0.750000,0.450000,-0.000000
+-0.700000,0.450000,-0.392000
+-0.392000,0.450000,-0.700000
+0.000000,0.450000,-0.700000
+-0.668750,0.515625,-0.374500
+-0.374500,0.515625,-0.668750
+0.000000,0.515625,-0.668750
+-0.718750,0.515625,-0.402500
+-0.402500,0.515625,-0.718750
+0.000000,0.515625,-0.718750
+-0.750000,0.450000,-0.420000
+-0.420000,0.450000,-0.750000
+0.000000,0.450000,-0.750000
+0.392000,0.450000,-0.700000
+0.700000,0.450000,-0.392000
+0.374500,0.515625,-0.668750
+0.668750,0.515625,-0.374500
+0.402500,0.515625,-0.718750
+0.718750,0.515625,-0.402500
+0.420000,0.450000,-0.750000
+0.750000,0.450000,-0.420000
+0.875000,0.187500,-0.000000
+0.875000,0.187500,0.490000
+0.490000,0.187500,0.875000
+0.000000,0.187500,0.875000
+1.000000,-0.075000,-0.000000
+1.000000,-0.075000,0.560000
+0.560000,-0.075000,1.000000
+0.000000,-0.075000,1.000000
+1.000000,-0.300000,-0.000000
+1.000000,-0.300000,0.560000
+0.560000,-0.300000,1.000000
+0.000000,-0.300000,1.000000
+-0.490000,0.187500,0.875000
+-0.875000,0.187500,0.490000
+-0.875000,0.187500,-0.000000
+-0.560000,-0.075000,1.000000
+-1.000000,-0.075000,0.560000
+-1.000000,-0.075000,-0.000000
+-0.560000,-0.300000,1.000000
+-1.000000,-0.300000,0.560000
+-1.000000,-0.300000,-0.000000
+-0.875000,0.187500,-0.490000
+-0.490000,0.187500,-0.875000
+0.000000,0.187500,-0.875000
+-1.000000,-0.075000,-0.560000
+-0.560000,-0.075000,-1.000000
+0.000000,-0.075000,-1.000000
+-1.000000,-0.300000,-0.560000
+-0.560000,-0.300000,-1.000000
+0.000000,-0.300000,-1.000000
+0.490000,0.187500,-0.875000
+0.875000,0.187500,-0.490000
+0.560000,-0.075000,-1.000000
+1.000000,-0.075000,-0.560000
+0.560000,-0.300000,-1.000000
+1.000000,-0.300000,-0.560000
+1.000000,-0.525000,-0.000000
+1.000000,-0.525000,0.560000
+0.560000,-0.525000,1.000000
+0.000000,-0.525000,1.000000
+0.750000,-0.637500,-0.000000
+0.750000,-0.637500,0.420000
+0.420000,-0.637500,0.750000
+0.000000,-0.637500,0.750000
+0.750000,-0.675000,-0.000000
+0.750000,-0.675000,0.420000
+0.420000,-0.675000,0.750000
+0.000000,-0.675000,0.750000
+-0.560000,-0.525000,1.000000
+-1.000000,-0.525000,0.560000
+-1.000000,-0.525000,-0.000000
+-0.420000,-0.637500,0.750000
+-0.750000,-0.637500,0.420000
+-0.750000,-0.637500,-0.000000
+-0.420000,-0.675000,0.750000
+-0.750000,-0.675000,0.420000
+-0.750000,-0.675000,-0.000000
+-1.000000,-0.525000,-0.560000
+-0.560000,-0.525000,-1.000000
+0.000000,-0.525000,-1.000000
+-0.750000,-0.637500,-0.420000
+-0.420000,-0.637500,-0.750000
+0.000000,-0.637500,-0.750000
+-0.750000,-0.675000,-0.420000
+-0.420000,-0.675000,-0.750000
+0.000000,-0.675000,-0.750000
+0.560000,-0.525000,-1.000000
+1.000000,-0.525000,-0.560000
+0.420000,-0.637500,-0.750000
+0.750000,-0.637500,-0.420000
+0.420000,-0.675000,-0.750000
+0.750000,-0.675000,-0.420000
+-0.800000,0.262500,-0.000000
+-0.800000,0.262500,0.150000
+-0.750000,0.375000,0.150000
+-0.750000,0.375000,-0.000000
+-1.150000,0.262500,-0.000000
+-1.150000,0.262500,0.150000
+-1.250000,0.375000,0.150000
+-1.250000,0.375000,-0.000000
+-1.350000,0.262500,-0.000000
+-1.350000,0.262500,0.150000
+-1.500000,0.375000,0.150000
+-1.500000,0.375000,-0.000000
+-1.350000,0.150000,-0.000000
+-1.350000,0.150000,0.150000
+-1.500000,0.150000,0.150000
+-1.500000,0.150000,-0.000000
+-0.750000,0.375000,-0.150000
+-0.800000,0.262500,-0.150000
+-1.250000,0.375000,-0.150000
+-1.150000,0.262500,-0.150000
+-1.500000,0.375000,-0.150000
+-1.350000,0.262500,-0.150000
+-1.500000,0.150000,-0.150000
+-1.350000,0.150000,-0.150000
+-1.350000,0.037500,-0.000000
+-1.350000,0.037500,0.150000
+-1.500000,-0.075000,0.150000
+-1.500000,-0.075000,-0.000000
+-1.250000,-0.187500,-0.000000
+-1.250000,-0.187500,0.150000
+-1.325000,-0.281250,0.150000
+-1.325000,-0.281250,-0.000000
+-1.000000,-0.300000,0.150000
+-0.950000,-0.450000,0.150000
+-0.950000,-0.450000,-0.000000
+-1.500000,-0.075000,-0.150000
+-1.350000,0.037500,-0.150000
+-1.325000,-0.281250,-0.150000
+-1.250000,-0.187500,-0.150000
+-0.950000,-0.450000,-0.150000
+-1.000000,-0.300000,-0.150000
+0.850000,-0.037500,-0.000000
+0.850000,-0.037500,0.330000
+0.850000,-0.450000,0.330000
+0.850000,-0.450000,-0.000000
+1.300000,-0.037500,-0.000000
+1.300000,-0.037500,0.330000
+1.550000,-0.337500,0.330000
+1.550000,-0.337500,-0.000000
+1.150000,0.300000,-0.000000
+1.150000,0.300000,0.125000
+1.200000,0.262500,0.125000
+1.200000,0.262500,-0.000000
+1.350000,0.450000,-0.000000
+1.350000,0.450000,0.125000
+1.650000,0.450000,0.125000
+1.650000,0.450000,-0.000000
+0.850000,-0.450000,-0.330000
+0.850000,-0.037500,-0.330000
+1.550000,-0.337500,-0.330000
+1.300000,-0.037500,-0.330000
+1.200000,0.262500,-0.125000
+1.150000,0.300000,-0.125000
+1.650000,0.450000,-0.125000
+1.350000,0.450000,-0.125000
+1.400000,0.487500,-0.000000
+1.400000,0.487500,0.125000
+1.762500,0.496875,0.125000
+1.762500,0.496875,-0.000000
+1.450000,0.487500,-0.000000
+1.450000,0.487500,0.075000
+1.725000,0.506250,0.075000
+1.725000,0.506250,-0.000000
+1.400000,0.450000,-0.000000
+1.400000,0.450000,0.075000
+1.600000,0.450000,0.075000
+1.600000,0.450000,-0.000000
+1.762500,0.496875,-0.125000
+1.400000,0.487500,-0.125000
+1.725000,0.506250,-0.075000
+1.450000,0.487500,-0.075000
+1.600000,0.450000,-0.075000
+1.400000,0.450000,-0.075000
+0.000000,0.825000,-0.000000
+0.000000,0.825000,0.001000
+0.001000,0.825000,-0.000000
+0.400000,0.825000,-0.000000
+0.400000,0.825000,0.225000
+0.225000,0.825000,0.400000
+0.000000,0.825000,0.400000
+0.000000,0.675000,-0.000000
+0.100000,0.600000,-0.000000
+0.100000,0.600000,0.056000
+0.056000,0.600000,0.100000
+0.000000,0.600000,0.100000
+-0.001000,0.825000,-0.000000
+-0.225000,0.825000,0.400000
+-0.400000,0.825000,0.225000
+-0.400000,0.825000,-0.000000
+-0.056000,0.600000,0.100000
+-0.100000,0.600000,0.056000
+-0.100000,0.600000,-0.000000
+0.000000,0.825000,-0.001000
+-0.400000,0.825000,-0.225000
+-0.225000,0.825000,-0.400000
+0.000000,0.825000,-0.400000
+-0.100000,0.600000,-0.056000
+-0.056000,0.600000,-0.100000
+0.000000,0.600000,-0.100000
+0.225000,0.825000,-0.400000
+0.400000,0.825000,-0.225000
+0.056000,0.600000,-0.100000
+0.100000,0.600000,-0.056000
+0.200000,0.525000,-0.000000
+0.200000,0.525000,0.112000
+0.112000,0.525000,0.200000
+0.000000,0.525000,0.200000
+0.650000,0.525000,-0.000000
+0.650000,0.525000,0.364000
+0.364000,0.525000,0.650000
+0.000000,0.525000,0.650000
+0.650000,0.450000,-0.000000
+0.650000,0.450000,0.364000
+0.364000,0.450000,0.650000
+0.000000,0.450000,0.650000
+-0.112000,0.525000,0.200000
+-0.200000,0.525000,0.112000
+-0.200000,0.525000,-0.000000
+-0.364000,0.525000,0.650000
+-0.650000,0.525000,0.364000
+-0.650000,0.525000,-0.000000
+-0.364000,0.450000,0.650000
+-0.650000,0.450000,0.364000
+-0.650000,0.450000,-0.000000
+-0.200000,0.525000,-0.112000
+-0.112000,0.525000,-0.200000
+0.000000,0.525000,-0.200000
+-0.650000,0.525000,-0.364000
+-0.364000,0.525000,-0.650000
+0.000000,0.525000,-0.650000
+-0.650000,0.450000,-0.364000
+-0.364000,0.450000,-0.650000
+0.000000,0.450000,-0.650000
+0.112000,0.525000,-0.200000
+0.200000,0.525000,-0.112000
+0.364000,0.525000,-0.650000
+0.650000,0.525000,-0.364000
+0.364000,0.450000,-0.650000
+0.650000,0.450000,-0.364000
+0.000000,-0.750000,-0.000000
+0.750000,-0.675000,-0.000000
+0.750000,-0.675000,-0.420000
+0.420000,-0.675000,-0.750000
+0.000000,-0.675000,-0.750000
+0.750000,-0.712500,-0.000000
+0.750000,-0.712500,-0.420000
+0.420000,-0.712500,-0.750000
+0.000000,-0.712500,-0.750000
+0.712500,-0.750000,-0.000000
+0.712500,-0.750000,-0.399000
+0.399000,-0.750000,-0.712500
+0.000000,-0.750000,-0.712500
+-0.420000,-0.675000,-0.750000
+-0.750000,-0.675000,-0.420000
+-0.750000,-0.675000,-0.000000
+-0.420000,-0.712500,-0.750000
+-0.750000,-0.712500,-0.420000
+-0.750000,-0.712500,-0.000000
+-0.399000,-0.750000,-0.712500
+-0.712500,-0.750000,-0.399000
+-0.712500,-0.750000,-0.000000
+-0.750000,-0.675000,0.420000
+-0.420000,-0.675000,0.750000
+0.000000,-0.675000,0.750000
+-0.750000,-0.712500,0.420000
+-0.420000,-0.712500,0.750000
+0.000000,-0.712500,0.750000
+-0.712500,-0.750000,0.399000
+-0.399000,-0.750000,0.712500
+0.000000,-0.750000,0.712500
+0.420000,-0.675000,0.750000
+0.750000,-0.675000,0.420000
+0.420000,-0.712500,0.750000
+0.750000,-0.712500,0.420000
+0.399000,-0.750000,0.712500
+0.712500,-0.750000,0.399000
diff --git a/demos/declarative/teaservice/teaservice.qml b/demos/declarative/teaservice/teaservice.qml
new file mode 100644
index 000000000..f549fd50f
--- /dev/null
+++ b/demos/declarative/teaservice/teaservice.qml
@@ -0,0 +1,382 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtQuick3D examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+import Qt3D 1.0
+
+Viewport {
+ width: 850
+ height: 480
+ picking: true
+ //showPicking: true
+
+ camera: Camera {
+ eye: Qt.vector3d(0, 3, 10)
+ }
+
+ Item3D {
+ id: teapot
+ transform: [
+ Rotation3D {
+ id: teapot_rotate1
+ angle: 0
+ axis: Qt.vector3d(0, 1, 0)
+ },
+ Rotation3D {
+ id: teapot_rotate2
+ angle: 0
+ axis: Qt.vector3d(0, 0, 1)
+ }
+ ]
+ property bool bounce: false
+
+ Item3D {
+ id: body
+ mesh: Mesh { source: "teapot-body.bez" }
+ effect: Effect {
+ material: china
+ }
+
+ onHoverEnter: { effect.material = china_highlight }
+ onHoverLeave: { effect.material = china }
+ onClicked: { teapot.bounce = true }
+ }
+
+ Item3D {
+ id: handle
+ mesh: Mesh { source: "teapot-handle.bez" }
+ effect: Effect {
+ material: china
+ }
+
+ onHoverEnter: { effect.material = china_highlight }
+ onHoverLeave: { effect.material = china }
+ onClicked: {
+ if (teapot.state == "facing_left" ||
+ teapot.state == "pour_left") {
+ teapot.state = "facing_right";
+ } else if (teapot.state == "facing_right" ||
+ teapot.state == "pour_right") {
+ teapot_rotate1.angle = 0;
+ teapot.state = "facing_left";
+ } else {
+ teapot.state = "facing_left";
+ }
+ }
+ }
+
+ Item3D {
+ id: spout
+ mesh: Mesh { source: "teapot-spout.bez" }
+ effect: Effect {
+ material: china
+ }
+
+ onHoverEnter: { effect.material = china_highlight }
+ onHoverLeave: { effect.material = china }
+ onClicked: {
+ if (teapot.state == "facing_left") {
+ teapot.state = "pour_left";
+ } else if (teapot.state == "pour_left") {
+ teapot.state = "facing_left";
+ teapot.state = "pour_left";
+ } else if (teapot.state == "pour_right" ||
+ teapot.state == "facing_right") {
+ teapot.state = "";
+ teapot_rotate1.angle = 0;
+ teapot.state = "pour_right";
+ } else {
+ teapot.state = "pour_right";
+ }
+ }
+ }
+
+ SequentialAnimation on y{
+ running: teapot.bounce
+ NumberAnimation { to : 1.0; duration: 300; easing.type: "OutQuad" }
+ NumberAnimation { to : 0.0; duration: 300; easing.type: "OutBounce" }
+ onCompleted: teapot.bounce = false
+ }
+
+ states: [
+ State {
+ name: "facing_left"
+ PropertyChanges {
+ target: teapot_rotate1
+ angle: 180
+ }
+ },
+ State {
+ name: "facing_right"
+ PropertyChanges {
+ target: teapot_rotate1
+ angle: 360
+ }
+ },
+ State {
+ name: "pour_left"
+ PropertyChanges {
+ target: teapot
+ y: 0
+ }
+ PropertyChanges {
+ target: teapot
+ x: 0
+ }
+ PropertyChanges {
+ target: teapot_rotate1
+ angle: 180
+ }
+ PropertyChanges {
+ target: teapot_rotate2
+ angle: 0
+ }
+ },
+ State {
+ name: "pour_right"
+ PropertyChanges {
+ target: teapot
+ y: 0
+ }
+ PropertyChanges {
+ target: teapot
+ x: 0
+ }
+ PropertyChanges {
+ target: teapot_rotate2
+ angle: 0
+ }
+ }
+ ]
+
+ transitions: [
+ Transition {
+ from: "*"
+ to: "facing_left"
+ NumberAnimation {
+ targets: teapot_rotate1
+ properties: "angle"
+ duration: 300
+ }
+ },
+ Transition {
+ from: "*"
+ to: "facing_right"
+ NumberAnimation {
+ targets: teapot_rotate1
+ properties: "angle"
+ duration: 300
+ }
+ },
+ Transition {
+ from: "*"
+ to: "pour_left"
+ SequentialAnimation {
+ ParallelAnimation {
+ NumberAnimation {
+ target: teapot
+ property: "y"
+ duration: 500
+ to: 1
+ easing.type: "OutQuad"
+ }
+ NumberAnimation {
+ target: teapot
+ property: "x"
+ duration: 500
+ to: -0.5
+ easing.type: "OutQuad"
+ }
+ NumberAnimation {
+ target: teapot_rotate2
+ property: "angle"
+ duration: 500
+ to: 45
+ easing.type: "OutQuad"
+ }
+ }
+ PauseAnimation { duration: 700 }
+ ParallelAnimation {
+ NumberAnimation {
+ target: teapot
+ property: "y"
+ duration: 500
+ to: 0
+ easing.type: "OutQuad"
+ }
+ NumberAnimation {
+ target: teapot
+ property: "x"
+ duration: 500
+ to: 0
+ easing.type: "OutQuad"
+ }
+ NumberAnimation {
+ target: teapot_rotate2
+ property: "angle"
+ duration: 500
+ to: 0
+ easing.type: "OutQuad"
+ }
+ }
+ }
+ },
+ Transition {
+ from: "*"
+ to: "pour_right"
+ SequentialAnimation {
+ ParallelAnimation {
+ NumberAnimation {
+ target: teapot
+ property: "y"
+ duration: 500
+ to: 1
+ easing.type: "OutQuad"
+ }
+ NumberAnimation {
+ target: teapot
+ property: "x"
+ duration: 500
+ to: 0.5
+ easing.type: "OutQuad"
+ }
+ NumberAnimation {
+ target: teapot_rotate2
+ property: "angle"
+ duration: 500
+ to: -45
+ easing.type: "OutQuad"
+ }
+ }
+ PauseAnimation { duration: 700 }
+ ParallelAnimation {
+ NumberAnimation {
+ target: teapot
+ property: "y"
+ duration: 500
+ to: 0
+ easing.type: "OutQuad"
+ }
+ NumberAnimation {
+ target: teapot
+ property: "x"
+ duration: 500
+ to: 0
+ easing.type: "OutQuad"
+ }
+ NumberAnimation {
+ target: teapot_rotate2
+ property: "angle"
+ duration: 500
+ to: 0
+ easing.type: "OutQuad"
+ }
+ }
+ }
+ }
+ ]
+ }
+
+ Teacup {
+ id: teacup1
+ position: Qt.vector3d(-2.3, -0.75, 0.0)
+ }
+
+ Teacup {
+ id: teacup2
+ position: Qt.vector3d(2.3, -0.75, 0.0)
+ transform: Rotation3D {
+ angle: 180
+ axis: Qt.vector3d(0, 1, 0)
+ }
+ }
+
+ Teaspoon {
+ x: -1.7
+ y: -0.58
+ saucerY: teacup1.spoonY
+ }
+
+ Teaspoon {
+ x: 1.7
+ y: -0.58
+ saucerY: teacup2.spoonY
+ }
+
+ Mesh {
+ id: teacup_mesh
+ source: "teacup.bez"
+ }
+
+ Mesh {
+ id: teaspoon_mesh
+ source: "teaspoon.bez"
+ }
+
+ Material {
+ id: china
+ ambientColor: "#c09680"
+ specularColor: "#3c3c3c"
+ shininess: 128
+ }
+
+ Material {
+ id: china_highlight
+ ambientColor: "#ffc000"
+ specularColor: "#3c3c00"
+ shininess: 128
+ }
+
+ Material {
+ id: metal
+ ambientColor: "#ffffff"
+ diffuseColor: "#969696"
+ specularColor: "#ffffff"
+ shininess: 128
+ }
+
+ Material {
+ id: metal_highlight
+ ambientColor: "#ffff60"
+ diffuseColor: "#969660"
+ specularColor: "#ffffff"
+ shininess: 128
+ }
+}
diff --git a/demos/declarative/teaservice/teaservice.qmlproject b/demos/declarative/teaservice/teaservice.qmlproject
new file mode 100644
index 000000000..d4909f868
--- /dev/null
+++ b/demos/declarative/teaservice/teaservice.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+ /* Include .qml, .js, and image files from current directory and subdirectories */
+ QmlFiles {
+ directory: "."
+ }
+ JavaScriptFiles {
+ directory: "."
+ }
+ ImageFiles {
+ directory: "."
+ }
+ /* List of plugin directories passed to QML runtime */
+ // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/demos/declarative/teaservice/teaspoon.bez b/demos/declarative/teaservice/teaspoon.bez
new file mode 100644
index 000000000..c304fbde0
--- /dev/null
+++ b/demos/declarative/teaservice/teaspoon.bez
@@ -0,0 +1,275 @@
+16
+1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16
+17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32
+33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48
+49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64
+65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80
+81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96
+97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112
+113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128
+129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144
+145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160
+161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176
+177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192
+193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208
+209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224
+225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240
+241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256
+256
+-0.000107143,0.205357,0.0
+0.0,0.196429,-0.0178571
+0.0,0.196429,-0.0178571
+0.000107143,0.205357,0.0
+-0.0535714,0.205357,0.0
+-0.0222714,0.178571,-0.0534286
+0.0222714,0.178571,-0.0534286
+0.0535714,0.205357,0.0
+-0.107143,0.0952429,-0.0178571
+-0.0446429,0.0952429,-0.0892857
+0.0446429,0.0952429,-0.0892857
+0.107143,0.0952429,-0.0178571
+-0.107143,0.0,-0.0178571
+-0.0446429,0.0,-0.0892857
+0.0446429,0.0,-0.0892857
+0.107143,0.0,-0.0178571
+0.000107143,0.205357,0.0
+0.000135714,0.207589,0.00446429
+0.000157143,0.216518,0.00446429
+0.000125,0.214286,0.0
+0.0535714,0.205357,0.0
+0.0613964,0.212054,0.0133571
+0.0714286,0.220982,0.015625
+0.0625,0.214286,0.0
+0.107143,0.0952429,-0.0178571
+0.122768,0.0952429,0.0
+0.142857,0.0952429,0.00446429
+0.125,0.0952429,-0.0178571
+0.107143,0.0,-0.0178571
+0.122768,0.0,0.0
+0.142857,0.0,0.00446429
+0.125,0.0,-0.0178571
+0.000125,0.214286,0.0
+0.0,0.205357,-0.0178571
+0.0,0.205357,-0.0178571
+-0.000125,0.214286,0.0
+0.0625,0.214286,0.0
+0.0267857,0.1875,-0.0625
+-0.0267857,0.1875,-0.0625
+-0.0625,0.214286,0.0
+0.125,0.0952429,-0.0178571
+0.0535714,0.0952429,-0.107143
+-0.0535714,0.0952429,-0.107143
+-0.125,0.0952429,-0.0178571
+0.125,0.0,-0.0178571
+0.0535714,0.0,-0.107143
+-0.0535714,0.0,-0.107143
+-0.125,0.0,-0.0178571
+-0.000125,0.214286,0.0
+-0.000157143,0.216518,0.00446429
+-0.000135714,0.207589,0.00446429
+-0.000107143,0.205357,0.0
+-0.0625,0.214286,0.0
+-0.0714286,0.220982,0.015625
+-0.0613964,0.212054,0.0133571
+-0.0535714,0.205357,0.0
+-0.125,0.0952429,-0.0178571
+-0.142857,0.0952429,0.00446429
+-0.122768,0.0952429,0.0
+-0.107143,0.0952429,-0.0178571
+-0.125,0.0,-0.0178571
+-0.142857,0.0,0.00446429
+-0.122768,0.0,0.0
+-0.107143,0.0,-0.0178571
+-0.107143,0.0,-0.0178571
+-0.0446429,0.0,-0.0892857
+0.0446429,0.0,-0.0892857
+0.107143,0.0,-0.0178571
+-0.107143,-0.142857,-0.0178571
+-0.0446429,-0.142857,-0.0892857
+0.0446429,-0.142857,-0.0892857
+0.107143,-0.142857,-0.0178571
+-0.0133929,-0.160714,0.0386893
+-0.00557857,-0.160714,0.0386893
+0.00557857,-0.160714,0.0386893
+0.0133929,-0.160714,0.0386893
+-0.0133929,-0.25,0.0535714
+-0.00557857,-0.25,0.0535714
+0.00557857,-0.25,0.0535714
+0.0133929,-0.25,0.0535714
+0.107143,0.0,-0.0178571
+0.122768,0.0,0.0
+0.142857,0.0,0.00446429
+0.125,0.0,-0.0178571
+0.107143,-0.142857,-0.0178571
+0.122768,-0.142857,0.0
+0.142857,-0.142857,0.00446429
+0.125,-0.142857,-0.0178571
+0.0133929,-0.160714,0.0386893
+0.0153464,-0.160714,0.0386893
+0.0178571,-0.160714,0.0314357
+0.015625,-0.160714,0.0297607
+0.0133929,-0.25,0.0535714
+0.0153464,-0.25,0.0535714
+0.0178571,-0.25,0.0463179
+0.015625,-0.25,0.0446429
+0.125,0.0,-0.0178571
+0.0535714,0.0,-0.107143
+-0.0535714,0.0,-0.107143
+-0.125,0.0,-0.0178571
+0.125,-0.142857,-0.0178571
+0.0535714,-0.142857,-0.107143
+-0.0535714,-0.142857,-0.107143
+-0.125,-0.142857,-0.0178571
+0.015625,-0.160714,0.0297607
+0.00669643,-0.160714,0.0230643
+-0.00781071,-0.160714,0.0208321
+-0.015625,-0.160714,0.0297607
+0.015625,-0.25,0.0446429
+0.00669643,-0.25,0.0379464
+-0.00781071,-0.25,0.0357143
+-0.015625,-0.25,0.0446429
+-0.125,0.0,-0.0178571
+-0.142857,0.0,0.00446429
+-0.122768,0.0,0.0
+-0.107143,0.0,-0.0178571
+-0.125,-0.142857,-0.0178571
+-0.142857,-0.142857,0.00446429
+-0.122768,-0.142857,0.0
+-0.107143,-0.142857,-0.0178571
+-0.015625,-0.160714,0.0297607
+-0.0175786,-0.160714,0.0319929
+-0.0153464,-0.160714,0.0386893
+-0.0133929,-0.160714,0.0386893
+-0.015625,-0.25,0.0446429
+-0.0175786,-0.25,0.046875
+-0.0153464,-0.25,0.0535714
+-0.0133929,-0.25,0.0535714
+-0.0133929,-0.25,0.0535714
+-0.00557857,-0.25,0.0535714
+0.00557857,-0.25,0.0535714
+0.0133929,-0.25,0.0535714
+-0.0133929,-0.46425,0.0892857
+-0.00557857,-0.46425,0.0892857
+0.00557857,-0.46425,0.0892857
+0.0133929,-0.46425,0.0892857
+-0.0446429,-0.678571,0.0535714
+-0.00892857,-0.678571,0.0625
+0.00892857,-0.678571,0.0625
+0.0446429,-0.678571,0.0535714
+-0.0446429,-0.857143,0.0357143
+-0.00892857,-0.857143,0.0446429
+0.00892857,-0.857143,0.0446429
+0.0446429,-0.857143,0.0357143
+0.0133929,-0.25,0.0535714
+0.0153464,-0.25,0.0535714
+0.0178571,-0.25,0.0463179
+0.015625,-0.25,0.0446429
+0.0133929,-0.46425,0.0892857
+0.0153464,-0.464286,0.0892857
+0.0178571,-0.46425,0.0820321
+0.015625,-0.46425,0.0803571
+0.0446429,-0.678571,0.0535714
+0.0535714,-0.678571,0.0513393
+0.0535714,-0.678571,0.0334821
+0.0446429,-0.678571,0.0357143
+0.0446429,-0.857143,0.0357143
+0.0535714,-0.857143,0.0334821
+0.0535714,-0.857143,0.015625
+0.0446429,-0.857143,0.0178571
+0.015625,-0.25,0.0446429
+0.00669643,-0.25,0.0379464
+-0.00781071,-0.25,0.0357143
+-0.015625,-0.25,0.0446429
+0.015625,-0.46425,0.0803571
+0.00669643,-0.464286,0.0736607
+-0.00781071,-0.46425,0.0714286
+-0.015625,-0.46425,0.0803571
+0.0446429,-0.678571,0.0357143
+0.00892857,-0.678571,0.0446429
+-0.00892857,-0.678571,0.0446429
+-0.0446429,-0.678571,0.0357143
+0.0446429,-0.857143,0.0178571
+0.00892857,-0.857143,0.0267857
+-0.00892857,-0.857143,0.0267857
+-0.0446429,-0.857143,0.0178571
+-0.015625,-0.25,0.0446429
+-0.0175786,-0.25,0.046875
+-0.0153464,-0.25,0.0535714
+-0.0133929,-0.25,0.0535714
+-0.015625,-0.46425,0.0803571
+-0.0175786,-0.464286,0.0825893
+-0.0153464,-0.464286,0.0892857
+-0.0133929,-0.46425,0.0892857
+-0.0446429,-0.678571,0.0357143
+-0.0535714,-0.678571,0.0334821
+-0.0535714,-0.678571,0.0513393
+-0.0446429,-0.678571,0.0535714
+-0.0446429,-0.857143,0.0178571
+-0.0535714,-0.857143,0.015625
+-0.0535714,-0.857143,0.0334821
+-0.0446429,-0.857143,0.0357143
+-0.0446429,-0.857143,0.0357143
+-0.00892857,-0.857143,0.0446429
+0.00892857,-0.857143,0.0446429
+0.0446429,-0.857143,0.0357143
+-0.0446429,-0.928571,0.0285714
+-0.00892857,-0.928571,0.0375
+0.00892857,-0.928571,0.0375
+0.0446429,-0.928571,0.0285714
+-0.0539286,-0.999643,0.0178571
+0.000357143,-0.999643,0.0178571
+0.0,-0.999643,0.0178571
+0.0535714,-0.999643,0.0178571
+-0.000357143,-1,0.0178571
+0.000357143,-1,0.0178571
+0.0,-1,0.0178571
+0.0,-1,0.0178571
+0.0446429,-0.857143,0.0357143
+0.0535714,-0.857143,0.0334821
+0.0535714,-0.857143,0.015625
+0.0446429,-0.857143,0.0178571
+0.0446429,-0.928571,0.0285714
+0.0535714,-0.928571,0.0263393
+0.0535714,-0.928571,0.00848214
+0.0446429,-0.928571,0.0107143
+0.0535714,-0.999643,0.0178571
+0.0669643,-0.999643,0.0178571
+0.0673214,-0.999643,0.0
+0.0539286,-0.999643,0.0
+0.0,-1,0.0178571
+0.0,-1,0.0178571
+0.000357143,-1,0.0
+0.000357143,-1,0.0
+0.0446429,-0.857143,0.0178571
+0.00892857,-0.857143,0.0267857
+-0.00892857,-0.857143,0.0267857
+-0.0446429,-0.857143,0.0178571
+0.0446429,-0.928571,0.0107143
+0.00892857,-0.928571,0.0196429
+-0.00892857,-0.928571,0.0196429
+-0.0446429,-0.928571,0.0107143
+0.0539286,-0.999643,0.0
+0.000357143,-0.999643,0.0
+-0.000357143,-0.999643,0.0
+-0.0539286,-0.999643,0.0
+0.000357143,-1,0.0
+0.000357143,-1,0.0
+-0.000357143,-1,0.0
+-0.000357143,-1,0.0
+-0.0446429,-0.857143,0.0178571
+-0.0535714,-0.857143,0.015625
+-0.0535714,-0.857143,0.0334821
+-0.0446429,-0.857143,0.0357143
+-0.0446429,-0.928571,0.0107143
+-0.0535714,-0.928571,0.00848214
+-0.0535714,-0.928571,0.0263393
+-0.0446429,-0.928571,0.0285714
+-0.0539286,-0.999643,0.0
+-0.0673214,-0.999643,0.0
+-0.0675,-0.999643,0.0178571
+-0.0539286,-0.999643,0.0178571
+-0.000357143,-1,0.0
+-0.000357143,-1,0.0
+-0.000535714,-1,0.0178571
+-0.000357143,-1,0.0178571
+# reverse-patches