| /* |
| * Copyright 2009, Google Inc. |
| * All rights reserved. |
| * |
| * 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 Google Inc. 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. |
| */ |
| |
| namespace o3d { |
| |
| %[ |
| A Param operation that takes 2 floats to produce a Float2. |
| |
| @o3dparameter input0 ParamFloat The first float. |
| @o3dparameter input1 ParamFloat The second float. |
| @o3dparameter output ParamFloat2 The Float2 that is the combination of input0 |
| and input1. |
| %] |
| [nocpp, include="core/cross/param_operation.h"] |
| class ParamOp2FloatsToFloat2 : ParamObject { |
| %[ |
| The first value for the Float2. |
| Default = 0. |
| %] |
| [getter, setter] float input_0; |
| |
| %[ |
| The second value for the Float2. |
| Default = 0. |
| %] |
| [getter, setter] float input_1; |
| |
| %[ |
| The Float2 that results from the inputs. |
| %] |
| [getter] Float2 output; |
| }; |
| |
| %[ |
| A Param operation that takes 3 floats to produce a Float3. |
| |
| @o3dparameter input0 ParamFloat The first float. |
| @o3dparameter input1 ParamFloat The second float. |
| @o3dparameter input2 ParamFloat The third float. |
| @o3dparameter output ParamFloat3 The Float3 that is the combination of input0, |
| input1, and input2. |
| %] |
| [nocpp, include="core/cross/param_operation.h"] |
| class ParamOp3FloatsToFloat3 : ParamObject { |
| %[ |
| The first value for the Float3. |
| Default = 0. |
| %] |
| [getter, setter] float input_0; |
| |
| %[ |
| The second value for the Float3. |
| Default = 0. |
| %] |
| [getter, setter] float input_1; |
| |
| %[ |
| The third value for the Float3. |
| Default = 0. |
| %] |
| [getter, setter] float input_2; |
| |
| %[ |
| The Float3 that results from the inputs. |
| %] |
| [getter] Float3 output; |
| }; |
| |
| %[ |
| A Param operation that takes 4 floats to produce a Float4. |
| |
| @o3dparameter input0 ParamFloat The first float. |
| @o3dparameter input1 ParamFloat The second float. |
| @o3dparameter input2 ParamFloat The third float. |
| @o3dparameter input3 ParamFloat The fourth float. |
| @o3dparameter output ParamFloat4 The Float4 that is the combination of input0, |
| input1, input2, and input3. |
| %] |
| [nocpp, include="core/cross/param_operation.h"] |
| class ParamOp4FloatsToFloat4 : ParamObject { |
| %[ |
| The first value for the Float4. |
| Default = 0. |
| %] |
| [getter, setter] float input_0; |
| |
| %[ |
| The second value for the Float4. |
| Default = 0. |
| %] |
| [getter, setter] float input_1; |
| |
| %[ |
| The third value for the Float4. |
| Default = 0. |
| %] |
| [getter, setter] float input_2; |
| |
| %[ |
| The fourth value for the Float4. |
| Default = 0. |
| %] |
| [getter, setter] float input_3; |
| |
| %[ |
| The Float4 that results from the inputs. |
| %] |
| [getter] Float4 output; |
| }; |
| |
| %[ |
| A Param operation that takes 16 floats to produce a Matrix4. |
| |
| @o3dparameter input0 ParamFloat The 1st float. |
| @o3dparameter input1 ParamFloat The 2nd float. |
| @o3dparameter input2 ParamFloat The 3rd float. |
| @o3dparameter input3 ParamFloat The 4th float. |
| @o3dparameter input4 ParamFloat The 5th float. |
| @o3dparameter input5 ParamFloat The 6th float. |
| @o3dparameter input6 ParamFloat The 7th float. |
| @o3dparameter input7 ParamFloat The 8th float. |
| @o3dparameter input8 ParamFloat The 9th float. |
| @o3dparameter input9 ParamFloat The 10th float. |
| @o3dparameter input10 ParamFloat The 11th float. |
| @o3dparameter input11 ParamFloat The 12th float. |
| @o3dparameter input12 ParamFloat The 13th float. |
| @o3dparameter input13 ParamFloat The 14th float. |
| @o3dparameter input14 ParamFloat The 15th float. |
| @o3dparameter input15 ParamFloat The 16th float. |
| @o3dparameter output ParamMatrix4 The Matrix4 that is the combination of |
| the inputs in the following order |
| <pre> |
| [[input0, input1, input2, input3], |
| [input4, input5, input6, input7], |
| [input8, input9, input10, input11], |
| [input12, input13, input14, input15]] |
| </pre> |
| %] |
| [nocpp, include="core/cross/param_operation.h"] |
| class ParamOp16FloatsToMatrix4 : ParamObject { |
| %[ |
| The first value for the Float4. |
| Default = 0. |
| %] |
| [getter, setter] float input_0; |
| |
| %[ |
| The second value for the Float4. |
| Default = 0. |
| %] |
| [getter, setter] float input_1; |
| |
| %[ |
| The third value for the Float4. |
| Default = 0. |
| %] |
| [getter, setter] float input_2; |
| |
| %[ |
| The fourth value for the Float4. |
| Default = 0. |
| %] |
| [getter, setter] float input_3; |
| |
| %[ |
| The fifth value for the Float4. |
| Default = 0. |
| %] |
| [getter, setter] float input_4; |
| |
| %[ |
| The sixth value for the Float4. |
| Default = 0. |
| %] |
| [getter, setter] float input_5; |
| |
| %[ |
| The seventh value for the Float4. |
| Default = 0. |
| %] |
| [getter, setter] float input_6; |
| |
| %[ |
| The eighth value for the Float4. |
| Default = 0. |
| %] |
| [getter, setter] float input_7; |
| |
| %[ |
| The ninth value for the Float4. |
| Default = 0. |
| %] |
| [getter, setter] float input_8; |
| |
| %[ |
| The tenth value for the Float4. |
| Default = 0. |
| %] |
| [getter, setter] float input_9; |
| |
| %[ |
| The eleventh value for the Float4. |
| Default = 0. |
| %] |
| [getter, setter] float input_10; |
| |
| %[ |
| The twelfth value for the Float4. |
| Default = 0. |
| %] |
| [getter, setter] float input_11; |
| |
| %[ |
| The thirteenth value for the Float4. |
| Default = 0. |
| %] |
| [getter, setter] float input_12; |
| |
| %[ |
| The fourteenth value for the Float4. |
| Default = 0. |
| %] |
| [getter, setter] float input_13; |
| |
| %[ |
| The fifteenth value for the Float4. |
| Default = 0. |
| %] |
| [getter, setter] float input_14; |
| |
| %[ |
| The sixteenth value for the Float4. |
| Default = 0. |
| %] |
| [getter, setter] float input_15; |
| |
| %[ |
| The Matrix4 that results from the inputs. |
| %] |
| [getter] Vectormath::Aos::Matrix4 output; |
| }; |
| |
| %[ |
| A Param operation that takes 9 floats to produce a 4-by-4 matrix. |
| The 9 floats encode a translation vector, angles of rotation around the x, y, |
| and z axes, and three scaling factors. The resulting transformation scales |
| first, then then rotates around the z-axis, then the y-axis, then the x-axis, |
| then translates. |
| |
| @o3dparameter translateX ParamFloat The x component of the translation. |
| @o3dparameter translateY ParamFloat The y component of the translation. |
| @o3dparameter translateZ ParamFloat The z component of the translation. |
| @o3dparameter rotateX ParamFloat The x component of the rotation. |
| @o3dparameter rotateY ParamFloat The y component of the rotation. |
| @o3dparameter rotateZ ParamFloat The z component of the rotation. |
| @o3dparameter scaleX ParamFloat The x component of the scale. |
| @o3dparameter scaleY ParamFloat The y component of the scale. |
| @o3dparameter scaleZ ParamFloat The z component of the scale. |
| @o3dparameter output ParamMatrix4 The matrix described by the components. |
| %] |
| [nocpp, include="core/cross/param_operation.h"] |
| class TRSToMatrix4 : ParamObject { |
| %[ |
| The x translation for the Matrix4. |
| Default = 0. |
| %] |
| [getter, setter] float translate_x; |
| |
| %[ |
| The y translation for the Matrix4. |
| Default = 0. |
| %] |
| [getter, setter] float translate_y; |
| |
| %[ |
| The z translation for the Matrix4. |
| Default = 0. |
| %] |
| [getter, setter] float translate_z; |
| |
| %[ |
| The x rotation for the Matrix4. |
| Default = 0. |
| %] |
| [getter, setter] float rotate_x; |
| |
| %[ |
| The y rotation for the Matrix4. |
| Default = 0. |
| %] |
| [getter, setter] float rotate_y; |
| |
| %[ |
| The z rotation for the Matrix4. |
| Default = 0. |
| %] |
| [getter, setter] float rotate_z; |
| |
| %[ |
| The x scale for the Matrix4. |
| Default = 0. |
| %] |
| [getter, setter] float scale_x; |
| |
| %[ |
| The y scale for the Matrix4. |
| Default = 0. |
| %] |
| [getter, setter] float scale_y; |
| |
| %[ |
| The z scale for the Matrix4. |
| Default = 0. |
| %] |
| [getter, setter] float scale_z; |
| |
| %[ |
| The Matrix4 that results from the inputs. |
| %] |
| [getter] Vectormath::Aos::Matrix4 output; |
| }; |
| |
| } // namespace o3d |
| |
| |