411
by Holger Seelig
Switched to npm. |
1 |
/* -*- Mode: JavaScript; coding: utf-8; tab-width: 3; indent-tabs-mode: tab; c-basic-offset: 3 -*-
|
2 |
*******************************************************************************
|
|
3 |
*
|
|
4 |
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
5 |
*
|
|
6 |
* Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011.
|
|
7 |
*
|
|
8 |
* All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
|
|
9 |
*
|
|
10 |
* The copyright notice above does not evidence any actual of intended
|
|
11 |
* publication of such source code, and is an unpublished work by create3000.
|
|
12 |
* This material contains CONFIDENTIAL INFORMATION that is the property of
|
|
13 |
* create3000.
|
|
14 |
*
|
|
15 |
* No permission is granted to copy, distribute, or create derivative works from
|
|
16 |
* the contents of this software, in whole or in part, without the prior written
|
|
17 |
* permission of create3000.
|
|
18 |
*
|
|
19 |
* NON-MILITARY USE ONLY
|
|
20 |
*
|
|
21 |
* All create3000 software are effectively free software with a non-military use
|
|
22 |
* restriction. It is free. Well commented source is provided. You may reuse the
|
|
23 |
* source in any way you please with the exception anything that uses it must be
|
|
24 |
* marked to indicate is contains 'non-military use only' components.
|
|
25 |
*
|
|
26 |
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
27 |
*
|
|
28 |
* Copyright 2015, 2016 Holger Seelig <holger.seelig@yahoo.de>.
|
|
29 |
*
|
|
30 |
* This file is part of the Cobweb Project.
|
|
31 |
*
|
|
32 |
* Cobweb is free software: you can redistribute it and/or modify it under the
|
|
33 |
* terms of the GNU General Public License version 3 only, as published by the
|
|
34 |
* Free Software Foundation.
|
|
35 |
*
|
|
36 |
* Cobweb is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
37 |
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
38 |
* A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
|
|
39 |
* details (a copy is included in the LICENSE file that accompanied this code).
|
|
40 |
*
|
|
41 |
* You should have received a copy of the GNU General Public License version 3
|
|
42 |
* along with Cobweb. If not, see <http://www.gnu.org/licenses/gpl.html> for a
|
|
43 |
* copy of the GPLv3 License.
|
|
44 |
*
|
|
45 |
* For Silvio, Joy and Adi.
|
|
46 |
*
|
|
47 |
******************************************************************************/
|
|
48 |
||
49 |
||
50 |
define ([ |
|
51 |
"jquery", |
|
52 |
"cobweb/Fields", |
|
53 |
"cobweb/Basic/X3DFieldDefinition", |
|
54 |
"cobweb/Basic/FieldDefinitionArray", |
|
55 |
"cobweb/Components/RigidBodyPhysics/X3DRigidJointNode", |
|
56 |
"cobweb/Bits/X3DConstants", |
|
57 |
],
|
|
58 |
function ($, |
|
59 |
Fields, |
|
60 |
X3DFieldDefinition, |
|
61 |
FieldDefinitionArray, |
|
62 |
X3DRigidJointNode, |
|
63 |
X3DConstants) |
|
64 |
{
|
|
65 |
"use strict"; |
|
66 |
||
67 |
function UniversalJoint (executionContext) |
|
68 |
{
|
|
69 |
X3DRigidJointNode .call (this, executionContext); |
|
70 |
||
71 |
this .addType (X3DConstants .UniversalJoint); |
|
72 |
}
|
|
73 |
||
74 |
UniversalJoint .prototype = $.extend (Object .create (X3DRigidJointNode .prototype), |
|
75 |
{
|
|
76 |
constructor: UniversalJoint, |
|
77 |
fieldDefinitions: new FieldDefinitionArray ([ |
|
78 |
new X3DFieldDefinition (X3DConstants .inputOutput, "metadata", new Fields .SFNode ()), |
|
79 |
new X3DFieldDefinition (X3DConstants .inputOutput, "body1", new Fields .SFNode ()), |
|
80 |
new X3DFieldDefinition (X3DConstants .inputOutput, "body2", new Fields .SFNode ()), |
|
81 |
new X3DFieldDefinition (X3DConstants .inputOutput, "forceOutput", new Fields .MFString ("NONE")), |
|
82 |
new X3DFieldDefinition (X3DConstants .inputOutput, "anchorPoint", new Fields .SFVec3f ()), |
|
83 |
new X3DFieldDefinition (X3DConstants .inputOutput, "axis1", new Fields .SFVec3f ()), |
|
84 |
new X3DFieldDefinition (X3DConstants .inputOutput, "axis2", new Fields .SFVec3f ()), |
|
85 |
new X3DFieldDefinition (X3DConstants .inputOutput, "stopBounce1", new Fields .SFFloat ()), |
|
86 |
new X3DFieldDefinition (X3DConstants .inputOutput, "stop1ErrorCorrection", new Fields .SFFloat (0.8)), |
|
87 |
new X3DFieldDefinition (X3DConstants .inputOutput, "stop2Bounce", new Fields .SFFloat ()), |
|
88 |
new X3DFieldDefinition (X3DConstants .inputOutput, "stop2ErrorCorrection", new Fields .SFFloat (0.8)), |
|
89 |
new X3DFieldDefinition (X3DConstants .outputOnly, "body1AnchorPoint", new Fields .SFVec3f ()), |
|
90 |
new X3DFieldDefinition (X3DConstants .outputOnly, "body1Axis", new Fields .SFVec3f ()), |
|
91 |
new X3DFieldDefinition (X3DConstants .outputOnly, "body2AnchorPoint", new Fields .SFVec3f ()), |
|
92 |
new X3DFieldDefinition (X3DConstants .outputOnly, "body2Axis", new Fields .SFVec3f ()), |
|
93 |
]),
|
|
94 |
getTypeName: function () |
|
95 |
{
|
|
96 |
return "UniversalJoint"; |
|
97 |
},
|
|
98 |
getComponentName: function () |
|
99 |
{
|
|
100 |
return "RigidBodyPhysics"; |
|
101 |
},
|
|
102 |
getContainerField: function () |
|
103 |
{
|
|
104 |
return "joints"; |
|
105 |
},
|
|
106 |
});
|
|
107 |
||
108 |
return UniversalJoint; |
|
109 |
});
|
|
110 |
||
111 |