x_ite
Version:
X_ITE X3D Browser, view and manipulate X3D, VRML, glTF and other 3D sources in HTML.
1,003 lines (805 loc) • 85.5 kB
JavaScript
/* X_ITE v12.2.3 */
const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-12.2.3")];
/******/ (() => { // webpackBootstrap
/******/ "use strict";
/******/ // The require scope
/******/ var __webpack_require__ = {};
/******/
/************************************************************************/
/******/ /* webpack/runtime/compat get default export */
/******/ (() => {
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = (module) => {
/******/ var getter = module && module.__esModule ?
/******/ () => (module['default']) :
/******/ () => (module);
/******/ __webpack_require__.d(getter, { a: getter });
/******/ return getter;
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/define property getters */
/******/ (() => {
/******/ // define getter functions for harmony exports
/******/ __webpack_require__.d = (exports, definition) => {
/******/ for(var key in definition) {
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
/******/ }
/******/ }
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/hasOwnProperty shorthand */
/******/ (() => {
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
/******/ })();
/******/
/************************************************************************/
// UNUSED EXPORTS: default
;// external "__X_ITE_X3D__ .Components"
const external_X_ITE_X3D_Components_namespaceObject = __X_ITE_X3D__ .Components;
var external_X_ITE_X3D_Components_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_Components_namespaceObject);
;// external "__X_ITE_X3D__ .Fields"
const external_X_ITE_X3D_Fields_namespaceObject = __X_ITE_X3D__ .Fields;
var external_X_ITE_X3D_Fields_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_Fields_namespaceObject);
;// external "__X_ITE_X3D__ .X3DFieldDefinition"
const external_X_ITE_X3D_X3DFieldDefinition_namespaceObject = __X_ITE_X3D__ .X3DFieldDefinition;
var external_X_ITE_X3D_X3DFieldDefinition_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_X3DFieldDefinition_namespaceObject);
;// external "__X_ITE_X3D__ .FieldDefinitionArray"
const external_X_ITE_X3D_FieldDefinitionArray_namespaceObject = __X_ITE_X3D__ .FieldDefinitionArray;
var external_X_ITE_X3D_FieldDefinitionArray_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_FieldDefinitionArray_namespaceObject);
;// external "__X_ITE_X3D__ .X3DNode"
const external_X_ITE_X3D_X3DNode_namespaceObject = __X_ITE_X3D__ .X3DNode;
var external_X_ITE_X3D_X3DNode_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_X3DNode_namespaceObject);
;// external "__X_ITE_X3D__ .X3DGeometricPropertyNode"
const external_X_ITE_X3D_X3DGeometricPropertyNode_namespaceObject = __X_ITE_X3D__ .X3DGeometricPropertyNode;
var external_X_ITE_X3D_X3DGeometricPropertyNode_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_X3DGeometricPropertyNode_namespaceObject);
;// external "__X_ITE_X3D__ .X3DConstants"
const external_X_ITE_X3D_X3DConstants_namespaceObject = __X_ITE_X3D__ .X3DConstants;
var external_X_ITE_X3D_X3DConstants_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_X3DConstants_namespaceObject);
;// external "__X_ITE_X3D__ .Namespace"
const external_X_ITE_X3D_Namespace_namespaceObject = __X_ITE_X3D__ .Namespace;
var external_X_ITE_X3D_Namespace_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_Namespace_namespaceObject);
;// ./src/x_ite/Components/HAnim/HAnimDisplacer.js
function HAnimDisplacer (executionContext)
{
external_X_ITE_X3D_X3DGeometricPropertyNode_default().call (this, executionContext);
this .addType ((external_X_ITE_X3D_X3DConstants_default()).HAnimDisplacer);
// Units
this ._displacements .setUnit ("length");
}
Object .setPrototypeOf (HAnimDisplacer .prototype, (external_X_ITE_X3D_X3DGeometricPropertyNode_default()).prototype);
Object .defineProperties (HAnimDisplacer,
{
... external_X_ITE_X3D_X3DNode_default().getStaticProperties ("HAnimDisplacer", "HAnim", 1, "displacers", "3.0"),
fieldDefinitions:
{
value: new (external_X_ITE_X3D_FieldDefinitionArray_default()) ([
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "metadata", new (external_X_ITE_X3D_Fields_default()).SFNode ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "description", new (external_X_ITE_X3D_Fields_default()).SFString ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "name", new (external_X_ITE_X3D_Fields_default()).SFString ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "weight", new (external_X_ITE_X3D_Fields_default()).SFFloat ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "coordIndex", new (external_X_ITE_X3D_Fields_default()).MFInt32 ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "displacements", new (external_X_ITE_X3D_Fields_default()).MFVec3f ()),
]),
enumerable: true,
},
});
const __default__ = HAnimDisplacer;
;
/* harmony default export */ const HAnim_HAnimDisplacer = (external_X_ITE_X3D_Namespace_default().add ("HAnimDisplacer", __default__));
;// external "__X_ITE_X3D__ .X3DChildNode"
const external_X_ITE_X3D_X3DChildNode_namespaceObject = __X_ITE_X3D__ .X3DChildNode;
var external_X_ITE_X3D_X3DChildNode_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_X3DChildNode_namespaceObject);
;// external "__X_ITE_X3D__ .Group"
const external_X_ITE_X3D_Group_namespaceObject = __X_ITE_X3D__ .Group;
var external_X_ITE_X3D_Group_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_Group_namespaceObject);
;// external "__X_ITE_X3D__ .Transform"
const external_X_ITE_X3D_Transform_namespaceObject = __X_ITE_X3D__ .Transform;
var external_X_ITE_X3D_Transform_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_Transform_namespaceObject);
;// external "__X_ITE_X3D__ .X3DBoundedObject"
const external_X_ITE_X3D_X3DBoundedObject_namespaceObject = __X_ITE_X3D__ .X3DBoundedObject;
var external_X_ITE_X3D_X3DBoundedObject_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_X3DBoundedObject_namespaceObject);
;// external "__X_ITE_X3D__ .TraverseType"
const external_X_ITE_X3D_TraverseType_namespaceObject = __X_ITE_X3D__ .TraverseType;
var external_X_ITE_X3D_TraverseType_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_TraverseType_namespaceObject);
;// external "__X_ITE_X3D__ .X3DCast"
const external_X_ITE_X3D_X3DCast_namespaceObject = __X_ITE_X3D__ .X3DCast;
var external_X_ITE_X3D_X3DCast_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_X3DCast_namespaceObject);
;// external "__X_ITE_X3D__ .Matrix4"
const external_X_ITE_X3D_Matrix4_namespaceObject = __X_ITE_X3D__ .Matrix4;
var external_X_ITE_X3D_Matrix4_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_Matrix4_namespaceObject);
;// external "__X_ITE_X3D__ .Algorithm"
const external_X_ITE_X3D_Algorithm_namespaceObject = __X_ITE_X3D__ .Algorithm;
var external_X_ITE_X3D_Algorithm_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_Algorithm_namespaceObject);
;// external "__X_ITE_X3D__ .ShaderRegistry"
const external_X_ITE_X3D_ShaderRegistry_namespaceObject = __X_ITE_X3D__ .ShaderRegistry;
var external_X_ITE_X3D_ShaderRegistry_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_ShaderRegistry_namespaceObject);
;// ./src/assets/shaders/webgl2/common/Skin2.glsl.js
const Skin2_glsl_default_ = () => /* glsl */ `
#if defined(X3D_SKINNING)
in float x3d_CoordIndex;
#if X3D_NUM_JOINT_SETS>0
uniform sampler2D x3d_JointsTexture;
#endif
#if X3D_NUM_DISPLACEMENTS>0
uniform sampler2D x3d_DisplacementsTexture;uniform sampler2D x3d_DisplacementWeightsTexture;
#endif
#if X3D_NUM_JOINT_SETS>0||X3D_NUM_DISPLACEMENTS>0
uniform sampler2D x3d_JointMatricesTexture;
#endif
#if X3D_NUM_JOINT_SETS>0
mat4 getJointMatrix(const in int joint){vec4 a=texelFetch(x3d_JointMatricesTexture,joint*8,0);vec4 b=texelFetch(x3d_JointMatricesTexture,joint*8+1,0);vec4 c=texelFetch(x3d_JointMatricesTexture,joint*8+2,0);vec4 d=texelFetch(x3d_JointMatricesTexture,joint*8+3,0);return mat4(a,b,c,d);}
#if defined(X3D_NORMALS)
mat3 getJointNormalMatrix(const in int joint){vec4 a=texelFetch(x3d_JointMatricesTexture,joint*8+4,0);vec4 b=texelFetch(x3d_JointMatricesTexture,joint*8+5,0);vec4 c=texelFetch(x3d_JointMatricesTexture,joint*8+6,0);return mat3(a.xyz,vec3(a.w,b.xy),vec3(b.zw,c.x));}
#endif
#endif
#if X3D_NUM_DISPLACEMENTS>0
mat3 getDisplacementJointMatrix(const in int joint){vec4 a=texelFetch(x3d_JointMatricesTexture,joint*8,0);vec4 b=texelFetch(x3d_JointMatricesTexture,joint*8+1,0);vec4 c=texelFetch(x3d_JointMatricesTexture,joint*8+2,0);return mat3(a.xyz,b.xyz,c.xyz);}
#endif
#if defined(X3D_NORMALS)
vec3 skinNormal=vec3(0);
#if defined(X3D_TANGENTS)
vec3 skinTangent=vec3(0);
#endif
#define getSkinNormal(normal)(skinNormal)
#if defined(X3D_TANGENTS)
#define getSkinTangent(tangent)(skinTangent)
#endif
#else
#define getSkinNormal(normal)(normal)
#define getSkinTangent(tangent)(tangent)
#endif
vec4 getSkinVertex(const in vec4 vertex,const in vec3 normal,const in vec3 tangent){int coordIndex=int(x3d_CoordIndex);vec4 skin=vertex;
#if defined(X3D_NORMALS)
skinNormal=normal;
#if defined(X3D_TANGENTS)
skinTangent=tangent;
#endif
#endif
#if X3D_NUM_DISPLACEMENTS>0
{int coordIndexD=coordIndex*(X3D_NUM_DISPLACEMENTS*2);for(int i=0;i<X3D_NUM_DISPLACEMENTS;++i){int index=coordIndexD+i*2;vec4 displacement=texelFetch(x3d_DisplacementsTexture,index,0);int weightIndex=int(texelFetch(x3d_DisplacementsTexture,index+1,0).x);float weight=texelFetch(x3d_DisplacementWeightsTexture,weightIndex,0).x;skin.xyz+=getDisplacementJointMatrix(int(displacement.w))*(displacement.xyz*weight);}}
#endif
#if X3D_NUM_JOINT_SETS>0
{int coordIndexJ=coordIndex*(X3D_NUM_JOINT_SETS*2);for(int i=0;i<X3D_NUM_JOINT_SETS;++i){int index=coordIndexJ+i;ivec4 joints=ivec4(texelFetch(x3d_JointsTexture,index,0));vec4 weights=texelFetch(x3d_JointsTexture,index+X3D_NUM_JOINT_SETS,0);for(int i=0;i<4;++i){int joint=joints[i];float weight=weights[i];skin+=(getJointMatrix(joint)*vertex-vertex)*weight;
#if defined(X3D_NORMALS)
mat3 jointNormalMatrix=getJointNormalMatrix(joint);skinNormal+=(jointNormalMatrix*normal-normal)*weight;
#if defined(X3D_TANGENTS)
skinTangent+=(jointNormalMatrix*tangent-tangent)*weight;
#endif
#endif
}}}
#endif
return skin;}
#endif
`
;
/* harmony default export */ const Skin2_glsl = (external_X_ITE_X3D_Namespace_default().add ("Skin2.glsl", Skin2_glsl_default_));
;// ./src/x_ite/Components/HAnim/HAnimHumanoid.js
// Register shaders.
external_X_ITE_X3D_ShaderRegistry_default().addInclude ("Skin", Skin2_glsl);
/**
* HAnimHumanoid
*/
function HAnimHumanoid (executionContext)
{
external_X_ITE_X3D_X3DChildNode_default().call (this, executionContext);
external_X_ITE_X3D_X3DBoundedObject_default().call (this, executionContext);
this .addType ((external_X_ITE_X3D_X3DConstants_default()).HAnimHumanoid);
this .addChildObjects ((external_X_ITE_X3D_X3DConstants_default()).outputOnly, "jointName", new (external_X_ITE_X3D_Fields_default()).SFTime (),
(external_X_ITE_X3D_X3DConstants_default()).outputOnly, "jointTextures", new (external_X_ITE_X3D_Fields_default()).SFTime (),
(external_X_ITE_X3D_X3DConstants_default()).outputOnly, "displacementsTexture", new (external_X_ITE_X3D_Fields_default()).SFTime (),
(external_X_ITE_X3D_X3DConstants_default()).outputOnly, "displacementWeightsTexture", new (external_X_ITE_X3D_Fields_default()).SFTime ());
// Units
this ._translation .setUnit ("length");
this ._center .setUnit ("length");
this ._bboxSize .setUnit ("length");
this ._bboxCenter .setUnit ("length");
// Legacy
if (executionContext .getSpecificationVersion () <= 3.3)
this ._version = "";
// Private properties
this .skeletonNode = new (external_X_ITE_X3D_Group_default()) (executionContext);
this .viewpointsNode = new (external_X_ITE_X3D_Group_default()) (executionContext);
this .skinNode = new Skin (executionContext, this);
this .transformNode = new (external_X_ITE_X3D_Transform_default()) (executionContext);
this .motionNodes = [ ];
this .jointNodes = [ ];
this .jointBindingMatrices = [ ];
this .displacementWeights = [ ];
this .numJoints = 0;
this .numDisplacements = 0;
this .update = new Lock ();
this .skinning = Function .prototype;
}
Object .assign (Object .setPrototypeOf (HAnimHumanoid .prototype, (external_X_ITE_X3D_X3DChildNode_default()).prototype),
(external_X_ITE_X3D_X3DBoundedObject_default()).prototype,
{
initialize ()
{
external_X_ITE_X3D_X3DChildNode_default().prototype .initialize .call (this);
external_X_ITE_X3D_X3DBoundedObject_default().prototype .initialize .call (this);
// Groups
this .skeletonNode .addAllowedTypes ((external_X_ITE_X3D_X3DConstants_default()).HAnimJoint, (external_X_ITE_X3D_X3DConstants_default()).HAnimSite);
this .viewpointsNode .addAllowedTypes ((external_X_ITE_X3D_X3DConstants_default()).HAnimSite);
this ._skeleton .addFieldInterest (this .skeletonNode ._children);
this ._viewpoints .addFieldInterest (this .viewpointsNode ._children);
this ._skin .addFieldInterest (this .skinNode ._children);
this .skeletonNode ._children = this ._skeleton;
this .viewpointsNode ._children = this ._viewpoints;
this .skinNode ._children = this ._skin;
this .skeletonNode .setPrivate (true);
this .viewpointsNode .setPrivate (true);
this .skinNode .setPrivate (true);
// Transform
this ._translation .addFieldInterest (this .transformNode ._translation);
this ._rotation .addFieldInterest (this .transformNode ._rotation);
this ._scale .addFieldInterest (this .transformNode ._scale);
this ._scaleOrientation .addFieldInterest (this .transformNode ._scaleOrientation);
this ._center .addFieldInterest (this .transformNode ._center);
this ._bboxSize .addFieldInterest (this .transformNode ._bboxSize);
this ._bboxCenter .addFieldInterest (this .transformNode ._bboxCenter);
this .transformNode ._translation = this ._translation;
this .transformNode ._rotation = this ._rotation;
this .transformNode ._scale = this ._scale;
this .transformNode ._scaleOrientation = this ._scaleOrientation;
this .transformNode ._center = this ._center;
this .transformNode ._bboxSize = this ._bboxSize;
this .transformNode ._bboxCenter = this ._bboxCenter;
this .transformNode ._children = [ this .skeletonNode, this .viewpointsNode, this .skinNode ];
// Setup
this .skeletonNode .setup ();
this .viewpointsNode .setup ();
this .skinNode .setup ();
this .transformNode .setup ();
this .connectChildNode (this .transformNode);
// Textures
const
browser = this .getBrowser (),
gl = browser .getContext ();
this .jointsTexture = gl .createTexture ();
this .displacementsTexture = gl .createTexture ();
this .displacementWeightsTexture = gl .createTexture ();
this .jointMatricesTexture = gl .createTexture ();
for (const texture of [this .jointsTexture, this .displacementsTexture, this .displacementWeightsTexture, this .jointMatricesTexture])
{
gl .bindTexture (gl .TEXTURE_2D, texture);
gl .texParameteri (gl .TEXTURE_2D, gl .TEXTURE_WRAP_S, gl .CLAMP_TO_EDGE);
gl .texParameteri (gl .TEXTURE_2D, gl .TEXTURE_WRAP_T, gl .CLAMP_TO_EDGE);
gl .texParameteri (gl .TEXTURE_2D, gl .TEXTURE_MAG_FILTER, gl .NEAREST);
gl .texParameteri (gl .TEXTURE_2D, gl .TEXTURE_MIN_FILTER, gl .NEAREST);
}
// Events
this ._motionsEnabled .addInterest ("set_motions__", this);
this ._motions .addInterest ("set_motions__", this);
this ._jointBindingPositions .addInterest ("set_joints__", this);
this ._jointBindingRotations .addInterest ("set_joints__", this);
this ._jointBindingScales .addInterest ("set_joints__", this);
this ._joints .addInterest ("set_joints__", this);
this ._jointName .addInterest ("set_connectAllJoints__", this);
this ._jointTextures .addInterest ("set_jointTextures__", this);
this ._displacementsTexture .addInterest ("set_displacementsTexture__", this);
this ._displacementWeightsTexture .addInterest ("set_displacementWeightsTexture__", this);
this ._skinCoord .addInterest ("set_skinCoord__", this);
this .set_motions__ ();
this .set_joints__ ();
this .set_skinCoord__ ();
},
getBBox (bbox, shadows)
{
return this .transformNode .getBBox (bbox, shadows);
},
getSubBBox (bbox, shadows)
{
return this .transformNode .getSubBBox (bbox, shadows);
},
getShapes (shapes, modelMatrix)
{
return this .transformNode .getShapes (shapes, modelMatrix);
},
getMatrix ()
{
return this .transformNode .getMatrix ();
},
getHAnimKey ()
{
return this .humanoidKey;
},
set_humanoidKey__ ()
{
this .humanoidKey = `[${this .numJoints}.${this .numDisplacements}]`;
},
set_motions__ ()
{
const
motionsEnabled = this ._motionsEnabled,
motionNodes = this .motionNodes;
for (const motionNode of motionNodes)
{
motionNode ._joints .removeInterest ("set_connectJoints__", this);
motionNode ._channelsEnabled .removeInterest ("set_connectJoints__", this);
motionNode ._channels .removeInterest ("set_connectJoints__", this);
motionNode ._values .removeInterest ("set_connectJoints__", this);
motionNode .disconnectJoints ();
}
motionNodes .length = 0;
for (const [i, node] of this ._motions .entries ())
{
if (i < motionsEnabled .length && !motionsEnabled [i])
continue;
const motionNode = external_X_ITE_X3D_X3DCast_default() ((external_X_ITE_X3D_X3DConstants_default()).HAnimMotion, node);
if (motionNode)
motionNodes .push (motionNode);
}
for (const motionNode of motionNodes)
{
motionNode ._joints .addInterest ("set_connectJoints__", this, motionNode);
motionNode ._channelsEnabled .addInterest ("set_connectJoints__", this, motionNode);
motionNode ._channels .addInterest ("set_connectJoints__", this, motionNode);
motionNode ._values .addInterest ("set_connectJoints__", this, motionNode);
motionNode .connectJoints (this .jointNodes);
}
},
set_connectAllJoints__ ()
{
for (const motionNode of this .motionNodes)
this .set_connectJoints__ (motionNode);
},
set_connectJoints__ (motionNode)
{
motionNode .disconnectJoints ();
motionNode .connectJoints (this .jointNodes);
},
set_joints__ ()
{
const
jointNodes = this .jointNodes,
jointBindingMatrices = this .jointBindingMatrices,
jointBindingPositions = this ._jointBindingPositions,
jointBindingRotations = this ._jointBindingRotations,
jointBindingScales = this ._jointBindingScales,
numJointBindingPositions = jointBindingPositions .length,
numJointBindingRotations = jointBindingRotations .length,
numJointBindingScales = jointBindingScales .length;
for (const motionNode of this .motionNodes)
motionNode .disconnectJoints ();
for (const jointNode of jointNodes)
{
jointNode .removeInterest ("unlock", this .update);
jointNode ._name .removeInterest ("addEvent", this ._jointName);
jointNode ._skinCoordIndex .removeInterest ("addEvent", this ._jointTextures);
jointNode ._skinCoordWeight .removeInterest ("addEvent", this ._jointTextures);
jointNode ._displacements .removeInterest ("addEvent", this ._displacementsTexture);
jointNode ._displacementWeights .removeInterest ("addEvent", this ._displacementWeightsTexture);
}
jointNodes .length = 0;
jointBindingMatrices .length = 0;
for (const [i, node] of this ._joints .entries ())
{
const jointNode = external_X_ITE_X3D_X3DCast_default() ((external_X_ITE_X3D_X3DConstants_default()).HAnimJoint, node);
if (!jointNode)
continue;
const
t = i < numJointBindingPositions ? jointBindingPositions [i] .getValue () : null,
r = i < numJointBindingRotations ? jointBindingRotations [i] .getValue () : null,
s = i < numJointBindingScales ? jointBindingScales [i] .getValue () : null;
jointNodes .push (jointNode);
jointBindingMatrices .push (new (external_X_ITE_X3D_Matrix4_default()) () .set (t, r, s));
}
for (const jointNode of jointNodes)
{
jointNode .addInterest ("unlock", this .update);
jointNode ._name .addInterest ("addEvent", this ._jointName);
jointNode ._skinCoordIndex .addInterest ("addEvent", this ._jointTextures);
jointNode ._skinCoordWeight .addInterest ("addEvent", this ._jointTextures);
jointNode ._displacements .addInterest ("addEvent", this ._displacementsTexture);
jointNode ._displacementWeights .addInterest ("addEvent", this ._displacementWeightsTexture);
}
for (const motionNode of this .motionNodes)
motionNode .connectJoints (jointNodes);
const size = Math .ceil (Math .sqrt (jointNodes .length * 8));
this .jointMatricesArray = new Float32Array (size * size * 4),
this ._jointTextures .addEvent ();
this ._displacementsTexture .addEvent ();
this ._displacementWeightsTexture .addEvent ();
},
set_jointTextures__ ()
{
// Create arrays.
const
length = this .skinCoordNode ?._point .length || 1,
joints = Array .from ({ length }, () => [ ]),
weights = Array .from ({ length }, () => [ ]);
for (const [joint, jointNode] of this .jointNodes .entries ())
{
const skinCoordWeight = jointNode ._skinCoordWeight .getValue ();
for (const [i, index] of jointNode ._skinCoordIndex .entries ())
{
const weight = skinCoordWeight [i];
if (weight === 0)
continue;
joints [index] ?.push (joint);
weights [index] ?.push (weight);
}
}
const
numJoints = external_X_ITE_X3D_Algorithm_default().roundToMultiple (joints .reduce ((p, n) => Math .max (p, n .length), 0), 4),
numJoints2 = numJoints * 2,
size = Math .ceil (Math .sqrt (length * numJoints2)) || 1,
jointsArray = new Float32Array (size * size * 4);
for (let i = 0; i < length; ++ i)
{
jointsArray .set (joints [i], i * numJoints2);
jointsArray .set (weights [i], i * numJoints2 + numJoints);
}
this .numJoints = numJoints;
// Upload textures.
const
browser = this .getBrowser (),
gl = browser .getContext ();
gl .bindTexture (gl .TEXTURE_2D, this .jointsTexture);
gl .texImage2D (gl .TEXTURE_2D, 0, gl .RGBA32F, size, size, 0, gl .RGBA, gl .FLOAT, jointsArray);
// Trigger update.
this .update .unlock ();
this .set_humanoidKey__ ();
},
set_displacementsTexture__ ()
{
// Create array.
const
length = this .skinCoordNode ?._point .length || 1,
displacements = Array .from ({ length }, () => [ ]);
let displacer = 0;
this .displacementWeights .length = 0;
for (const [joint, jointNode] of this .jointNodes .entries ())
{
for (const { _weight, _coordIndex, _displacements } of jointNode .getDisplacers ())
{
if (!_coordIndex .length)
continue;
// Store reference to weight SFFloat.
this .displacementWeights .push (_weight, 0, 0, 0);
for (const [i, index] of _coordIndex .entries ())
displacements [index] ?.push (... _displacements [i], joint, displacer, 0, 0, 0);
++ displacer;
}
}
const
numDisplacements = displacements .reduce ((p, n) => Math .max (p, n .length), 0) / 8,
numElements = numDisplacements * 8,
size = Math .ceil (Math .sqrt (length * numDisplacements * 2)) || 1,
displacementsArray = new Float32Array (size * size * 4);
for (let i = 0; i < length; ++ i)
displacementsArray .set (displacements [i], i * numElements);
// Number of displacements per coord index.
this .numDisplacements = numDisplacements;
// Upload texture.
const
browser = this .getBrowser (),
gl = browser .getContext ();
gl .bindTexture (gl .TEXTURE_2D, this .displacementsTexture);
gl .texImage2D (gl .TEXTURE_2D, 0, gl .RGBA32F, size, size, 0, gl .RGBA, gl .FLOAT, displacementsArray);
// Weights
this .displacementWeightsSize = Math .ceil (Math .sqrt (displacer));
this .displacementWeightsArray = new Float32Array (this .displacementWeightsSize * this .displacementWeightsSize * 4);
// Trigger update.
this .update .unlock ();
this .set_humanoidKey__ ();
},
set_displacementWeightsTexture__ ()
{
// Upload texture.
const
gl = this .getBrowser () .getContext (),
size = this .displacementWeightsSize,
array = this .displacementWeightsArray;
array .set (this .displacementWeights);
gl .bindTexture (gl .TEXTURE_2D, this .displacementWeightsTexture);
gl .texImage2D (gl .TEXTURE_2D, 0, gl .RGBA32F, size, size, 0, gl .RGBA, gl .FLOAT, array);
},
set_skinCoord__ ()
{
if (this .skinCoordNode)
{
this .skinCoordNode .removeInterest ("addEvent", this ._jointTextures);
this .skinCoordNode .removeInterest ("addEvent", this ._displacementsTexture);
this .skinCoordNode .removeInterest ("addEvent", this ._displacementWeightsTexture);
}
this .skinCoordNode = external_X_ITE_X3D_X3DCast_default() ((external_X_ITE_X3D_X3DConstants_default()).Coordinate, this ._skinCoord)
?? external_X_ITE_X3D_X3DCast_default() ((external_X_ITE_X3D_X3DConstants_default()).CoordinateDouble, this ._skinCoord);
if (this .skinCoordNode)
{
delete this .skinning;
this .skinCoordNode .addInterest ("addEvent", this ._jointTextures);
this .skinCoordNode .addInterest ("addEvent", this ._displacementsTexture);
this .skinCoordNode .addInterest ("addEvent", this ._displacementWeightsTexture);
}
else
{
this .skinning = Function .prototype;
}
this ._jointTextures .addEvent ();
this ._displacementsTexture .addEvent ();
this ._displacementWeightsTexture .addEvent ();
},
traverse (type, renderObject)
{
const invHumanoidMatrix = renderObject .getInvHumanoidMatrix ();
invHumanoidMatrix .push (this .transformNode .getMatrix ());
invHumanoidMatrix .multRight (renderObject .getModelViewMatrix () .get ());
invHumanoidMatrix .inverse ();
this .transformNode .traverse (type, renderObject);
this .skinning (type, renderObject);
invHumanoidMatrix .pop ();
},
skinning (type, renderObject)
{
if (type !== (external_X_ITE_X3D_TraverseType_default()).DISPLAY || this .update .lock ())
return;
// Create joint matrices.
const
invModelViewMatrix = renderObject .getInvHumanoidMatrix () .get (),
jointNodes = this .jointNodes,
jointNodesLength = jointNodes .length,
jointBindingMatrices = this .jointBindingMatrices,
jointMatricesArray = this .jointMatricesArray,
size = Math .ceil (Math .sqrt (jointNodesLength * 8));
for (let i = 0; i < jointNodesLength; ++ i)
{
const
jointNode = jointNodes [i],
jointBindingMatrix = jointBindingMatrices [i],
jointMatrix = jointNode .getModelViewMatrix () .multRight (invModelViewMatrix) .multLeft (jointBindingMatrix),
jointNormalMatrix = jointMatrix .submatrix .transpose () .inverse ();
jointMatricesArray .set (jointMatrix, i * 32 + 0);
jointMatricesArray .set (jointNormalMatrix, i * 32 + 16);
}
// Upload textures.
const
browser = this .getBrowser (),
gl = browser .getContext ();
gl .bindTexture (gl .TEXTURE_2D, this .jointMatricesTexture);
gl .texImage2D (gl .TEXTURE_2D, 0, gl .RGBA32F, size, size, 0, gl .RGBA, gl .FLOAT, jointMatricesArray);
},
getShaderOptions (options)
{
options .push ("X3D_SKINNING");
options .push (`X3D_NUM_JOINT_SETS ${this .numJoints / 4}`);
options .push (`X3D_NUM_DISPLACEMENTS ${this .numDisplacements}`);
},
setShaderUniforms (gl, shaderObject)
{
const
browser = this .getBrowser (),
jointsTextureTextureUnit = browser .popTextureUnit (),
jointMatricesTextureUnit = browser .popTextureUnit ();
gl .activeTexture (gl .TEXTURE0 + jointsTextureTextureUnit);
gl .bindTexture (gl .TEXTURE_2D, this .jointsTexture);
gl .uniform1i (shaderObject .x3d_JointsTexture, jointsTextureTextureUnit);
gl .activeTexture (gl .TEXTURE0 + jointMatricesTextureUnit);
gl .bindTexture (gl .TEXTURE_2D, this .jointMatricesTexture);
gl .uniform1i (shaderObject .x3d_JointMatricesTexture, jointMatricesTextureUnit);
if (!this .numDisplacements)
return;
const
displacementsTextureTextureUnit = browser .popTextureUnit (),
displacementWeightsTextureTextureUnit = browser .popTextureUnit ();
gl .activeTexture (gl .TEXTURE0 + displacementsTextureTextureUnit);
gl .bindTexture (gl .TEXTURE_2D, this .displacementsTexture);
gl .uniform1i (shaderObject .x3d_DisplacementsTexture, displacementsTextureTextureUnit);
gl .activeTexture (gl .TEXTURE0 + displacementWeightsTextureTextureUnit);
gl .bindTexture (gl .TEXTURE_2D, this .displacementWeightsTexture);
gl .uniform1i (shaderObject .x3d_DisplacementWeightsTexture, displacementWeightsTextureTextureUnit);
},
dispose ()
{
external_X_ITE_X3D_X3DBoundedObject_default().prototype .dispose .call (this);
external_X_ITE_X3D_X3DChildNode_default().prototype .dispose .call (this);
},
});
Object .defineProperties (HAnimHumanoid,
{
... external_X_ITE_X3D_X3DNode_default().getStaticProperties ("HAnimHumanoid", "HAnim", 1, "children", "3.0"),
fieldDefinitions:
{
value: new (external_X_ITE_X3D_FieldDefinitionArray_default()) ([
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "metadata", new (external_X_ITE_X3D_Fields_default()).SFNode ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "description", new (external_X_ITE_X3D_Fields_default()).SFString ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "name", new (external_X_ITE_X3D_Fields_default()).SFString ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "info", new (external_X_ITE_X3D_Fields_default()).MFString ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "version", new (external_X_ITE_X3D_Fields_default()).SFString ("2.0")),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "skeletalConfiguration", new (external_X_ITE_X3D_Fields_default()).SFString ("BASIC")),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "loa", new (external_X_ITE_X3D_Fields_default()).SFInt32 (-1)),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "translation", new (external_X_ITE_X3D_Fields_default()).SFVec3f ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "rotation", new (external_X_ITE_X3D_Fields_default()).SFRotation ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "scale", new (external_X_ITE_X3D_Fields_default()).SFVec3f (1, 1, 1)),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "scaleOrientation", new (external_X_ITE_X3D_Fields_default()).SFRotation ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "center", new (external_X_ITE_X3D_Fields_default()).SFVec3f ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "visible", new (external_X_ITE_X3D_Fields_default()).SFBool (true)),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "bboxDisplay", new (external_X_ITE_X3D_Fields_default()).SFBool ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).initializeOnly, "bboxSize", new (external_X_ITE_X3D_Fields_default()).SFVec3f (-1, -1, -1)),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).initializeOnly, "bboxCenter", new (external_X_ITE_X3D_Fields_default()).SFVec3f ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "skeleton", new (external_X_ITE_X3D_Fields_default()).MFNode ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "jointBindingPositions", new (external_X_ITE_X3D_Fields_default()).MFVec3f ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "jointBindingRotations", new (external_X_ITE_X3D_Fields_default()).MFRotation ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "jointBindingScales", new (external_X_ITE_X3D_Fields_default()).MFVec3f ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "joints", new (external_X_ITE_X3D_Fields_default()).MFNode ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "segments", new (external_X_ITE_X3D_Fields_default()).MFNode ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "sites", new (external_X_ITE_X3D_Fields_default()).MFNode ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "viewpoints", new (external_X_ITE_X3D_Fields_default()).MFNode ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "motionsEnabled", new (external_X_ITE_X3D_Fields_default()).MFBool ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "motions", new (external_X_ITE_X3D_Fields_default()).MFNode ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "skinBindingNormals", new (external_X_ITE_X3D_Fields_default()).SFNode ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "skinBindingCoords", new (external_X_ITE_X3D_Fields_default()).SFNode ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "skinNormal", new (external_X_ITE_X3D_Fields_default()).SFNode ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "skinCoord", new (external_X_ITE_X3D_Fields_default()).SFNode ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "skin", new (external_X_ITE_X3D_Fields_default()).MFNode ()),
]),
enumerable: true,
},
});
class Skin extends (external_X_ITE_X3D_Group_default())
{
#humanoidNode;
constructor (executionContext, humanoidNode)
{
super (executionContext);
this .#humanoidNode = humanoidNode;
}
traverse (type, renderObject)
{
renderObject .getHAnimNode () .push (this .#humanoidNode);
super .traverse (type, renderObject);
renderObject .getHAnimNode () .pop ();
}
}
class Lock
{
#locked = true;
unlock ()
{
this .#locked = false;
}
lock ()
{
const locked = this .#locked;
this .#locked = true;
return locked;
}
}
const HAnimHumanoid_default_ = HAnimHumanoid;
;
/* harmony default export */ const HAnim_HAnimHumanoid = (external_X_ITE_X3D_Namespace_default().add ("HAnimHumanoid", HAnimHumanoid_default_));
;// external "__X_ITE_X3D__ .X3DTransformNode"
const external_X_ITE_X3D_X3DTransformNode_namespaceObject = __X_ITE_X3D__ .X3DTransformNode;
var external_X_ITE_X3D_X3DTransformNode_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_X3DTransformNode_namespaceObject);
;// ./src/x_ite/Components/HAnim/HAnimJoint.js
function HAnimJoint (executionContext)
{
external_X_ITE_X3D_X3DTransformNode_default().call (this, executionContext);
this .addType ((external_X_ITE_X3D_X3DConstants_default()).HAnimJoint);
this .addChildObjects ((external_X_ITE_X3D_X3DConstants_default()).outputOnly, "displacements", new (external_X_ITE_X3D_Fields_default()).SFTime (),
(external_X_ITE_X3D_X3DConstants_default()).outputOnly, "displacementWeights", new (external_X_ITE_X3D_Fields_default()).SFTime ());
this .setVisibleObject (true);
this .addAllowedTypes ((external_X_ITE_X3D_X3DConstants_default()).HAnimJoint, (external_X_ITE_X3D_X3DConstants_default()).HAnimSegment);
// Legacy
if (executionContext .getSpecificationVersion () <= 3.3)
this .addAllowedTypes ((external_X_ITE_X3D_X3DConstants_default()).HAnimSite);
// Private properties
this .displacerNodes = [ ];
this .modelViewMatrix = new (external_X_ITE_X3D_Matrix4_default()) ();
}
Object .assign (Object .setPrototypeOf (HAnimJoint .prototype, (external_X_ITE_X3D_X3DTransformNode_default()).prototype),
{
initialize ()
{
external_X_ITE_X3D_X3DTransformNode_default().prototype .initialize .call (this);
this ._displacers .addInterest ("set_displacers__", this);
this .set_displacers__ ();
},
getModelViewMatrix ()
{
return this .modelViewMatrix;
},
getDisplacers ()
{
return this .displacerNodes;
},
set_visibleObjects__ ()
{ },
set_displacers__ ()
{
const displacerNodes = this .displacerNodes;
for (const displacerNode of displacerNodes)
{
displacerNode ._coordIndex .removeInterest ("addEvent", this ._displacements);
displacerNode ._displacements .removeInterest ("addEvent", this ._displacements);
displacerNode ._coordIndex .removeInterest ("addEvent", this ._displacementWeights);
displacerNode ._weight .removeInterest ("addEvent", this ._displacementWeights);
}
displacerNodes .length = 0;
for (const node of this ._displacers)
{
const displacerNode = external_X_ITE_X3D_X3DCast_default() ((external_X_ITE_X3D_X3DConstants_default()).HAnimDisplacer, node);
if (displacerNode)
displacerNodes .push (displacerNode);
}
for (const displacerNode of displacerNodes)
{
displacerNode ._coordIndex .addInterest ("addEvent", this ._displacements);
displacerNode ._displacements .addInterest ("addEvent", this ._displacements);
displacerNode ._coordIndex .addInterest ("addEvent", this ._displacementWeights);
displacerNode ._weight .addInterest ("addEvent", this ._displacementWeights);
}
this ._displacements .addEvent ();
this ._displacementWeights .addEvent ();
},
traverse (type, renderObject)
{
const modelViewMatrix = renderObject .getModelViewMatrix ();
modelViewMatrix .push ();
modelViewMatrix .multLeft (this .getMatrix ());
if (type === (external_X_ITE_X3D_TraverseType_default()).DISPLAY)
this .modelViewMatrix .assign (modelViewMatrix .get ());
external_X_ITE_X3D_X3DTransformNode_default().prototype .groupTraverse .call (this, type, renderObject);
modelViewMatrix .pop ();
},
groupTraverse (type, renderObject)
{
if (type === (external_X_ITE_X3D_TraverseType_default()).DISPLAY)
this .modelViewMatrix .assign (renderObject .getModelViewMatrix () .get ());
external_X_ITE_X3D_X3DTransformNode_default().prototype .groupTraverse .call (this, type, renderObject);
},
});
Object .defineProperties (HAnimJoint,
{
... external_X_ITE_X3D_X3DNode_default().getStaticProperties ("HAnimJoint", "HAnim", 1, "children", "3.0"),
fieldDefinitions:
{
value: new (external_X_ITE_X3D_FieldDefinitionArray_default()) ([
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "metadata", new (external_X_ITE_X3D_Fields_default()).SFNode ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "description", new (external_X_ITE_X3D_Fields_default()).SFString ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "name", new (external_X_ITE_X3D_Fields_default()).SFString ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "translation", new (external_X_ITE_X3D_Fields_default()).SFVec3f ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "rotation", new (external_X_ITE_X3D_Fields_default()).SFRotation ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "scale", new (external_X_ITE_X3D_Fields_default()).SFVec3f (1, 1, 1)),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "scaleOrientation", new (external_X_ITE_X3D_Fields_default()).SFRotation ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "center", new (external_X_ITE_X3D_Fields_default()).SFVec3f ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "llimit", new (external_X_ITE_X3D_Fields_default()).MFFloat (0, 0, 0)),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "ulimit", new (external_X_ITE_X3D_Fields_default()).MFFloat (0, 0, 0)),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "limitOrientation", new (external_X_ITE_X3D_Fields_default()).SFRotation ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "stiffness", new (external_X_ITE_X3D_Fields_default()).MFFloat (0, 0, 0)),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "skinCoordIndex", new (external_X_ITE_X3D_Fields_default()).MFInt32 ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "skinCoordWeight", new (external_X_ITE_X3D_Fields_default()).MFFloat ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "displacers", new (external_X_ITE_X3D_Fields_default()).MFNode ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "visible", new (external_X_ITE_X3D_Fields_default()).SFBool (true)),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "bboxDisplay", new (external_X_ITE_X3D_Fields_default()).SFBool ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).initializeOnly, "bboxSize", new (external_X_ITE_X3D_Fields_default()).SFVec3f (-1, -1, -1)),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).initializeOnly, "bboxCenter", new (external_X_ITE_X3D_Fields_default()).SFVec3f ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOnly, "addChildren", new (external_X_ITE_X3D_Fields_default()).MFNode ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOnly, "removeChildren", new (external_X_ITE_X3D_Fields_default()).MFNode ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "children", new (external_X_ITE_X3D_Fields_default()).MFNode ()),
]),
enumerable: true,
},
});
const HAnimJoint_default_ = HAnimJoint;
;
/* harmony default export */ const HAnim_HAnimJoint = (external_X_ITE_X3D_Namespace_default().add ("HAnimJoint", HAnimJoint_default_));
;// external "__X_ITE_X3D__ .TimeSensor"
const external_X_ITE_X3D_TimeSensor_namespaceObject = __X_ITE_X3D__ .TimeSensor;
var external_X_ITE_X3D_TimeSensor_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_TimeSensor_namespaceObject);
;// external "__X_ITE_X3D__ .PositionInterpolator"
const external_X_ITE_X3D_PositionInterpolator_namespaceObject = __X_ITE_X3D__ .PositionInterpolator;
var external_X_ITE_X3D_PositionInterpolator_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_PositionInterpolator_namespaceObject);
;// external "__X_ITE_X3D__ .OrientationInterpolator"
const external_X_ITE_X3D_OrientationInterpolator_namespaceObject = __X_ITE_X3D__ .OrientationInterpolator;
var external_X_ITE_X3D_OrientationInterpolator_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_OrientationInterpolator_namespaceObject);
;// external "__X_ITE_X3D__ .Vector3"
const external_X_ITE_X3D_Vector3_namespaceObject = __X_ITE_X3D__ .Vector3;
var external_X_ITE_X3D_Vector3_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_Vector3_namespaceObject);
;// external "__X_ITE_X3D__ .Rotation4"
const external_X_ITE_X3D_Rotation4_namespaceObject = __X_ITE_X3D__ .Rotation4;
var external_X_ITE_X3D_Rotation4_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_Rotation4_namespaceObject);
;// ./src/x_ite/Components/HAnim/HAnimMotion.js