home *** CD-ROM | disk | FTP | other *** search
- <?xml version="1.0" encoding="UTF-8"?>
- <X3D profile="Immersive" version="3.1">
- <Transform>
- <MetadataSet name='Template'>
- <MetadataString containerField='value' name='TemplateID' value='"TextEffectBigZoomTemplate"'/>
- <MetadataInteger containerField='value' name='TemplateKind' value='3'/>
- <MetadataString containerField='value' name='TimeDependentNode' value='""'/>
- </MetadataSet>
-
- <!--OUT properties -->
- <Transform>
- <MetadataSet DEF='OutSockets'>
- <MetadataSet containerField='value' name='OutSocket'>
- <MetadataString containerField='value' name='socketName' value='"textTransform"'/>
- <MetadataFloat containerField='value' name='socketCompatibilitySet' value='1.0'/>
- <MetadataString containerField='value' name='socketParentDEF' value='"TextTransform"'/>
- <MetadataString containerField='value' name='socketChildNodeDEF' value='"TextEffectTransform"'/>
- <MetadataString containerField='value' name='socketConnectToExtent' value='"current"'/>
- </MetadataSet>
- </MetadataSet>
- </Transform>
-
- <!--IN sockets -->
- <Transform>
- <MetadataSet DEF='InSockets'>
- <MetadataSet containerField='value' name='InSocket'>
- <MetadataString containerField='value' name='socketName' value='"EffectTimer"'/>
- <MetadataFloat containerField='value' name='socketCompatibilitySet' value='1.0'/>
- <MetadataString containerField='value' name='socketParentDEF' value='"TextFadeZoomInterpolator"'/>
- <MetadataString containerField='value' name='socketConnectAttribute' value='"set_fraction"'/>
- </MetadataSet>
- </MetadataSet>
- </Transform>
-
-
- <!--Socket Nodes scratch pad (only nodes with def's are injected)-->
-
- <Transform DEF='TextEffectTransform'>
- <Transform translation='1 1 0.025'>
- <MetadataSet name='BPSet'>
- <MetadataString containerField='value' name='position' value='"translation"'/>
- </MetadataSet>
- <Transform DEF='TextEffectZoomTransform'>
- <Shape DEF='TextEffectShape'>
- <Appearance DEF='TextEffectAppearance'>
- <Material DEF='TextEffectMaterial' transparency ='0' ambientIntensity='0.200' shininess='0.200' diffuseColor='1 0 0'>
- <MetadataSet name='BPSet'>
- <MetadataString containerField='value' name='color' value='"diffuseColor"'/>
- <MetadataString containerField='value' name='automatic' value='"false"' reference='Custom'/>
- </MetadataSet>
- </Material>
-
- </Appearance>
-
- <Text DEF='TextEffectText' containerField='geometry' string='""'>
- <MetadataSet name='BPSet'>
- <MetadataString containerField='value' name='string' value='"string"'/>
- <MetadataString containerField='value' name='length' value='"length"' />
- <MetadataString containerField='value' name='maxExtent' value='"maxExtent"'/>
- </MetadataSet>
- <FontStyle DEF='TextEffectFontStyle' containerField='fontStyle' family='"Arial" "Trebuchet"'
- horizontal='true' justify='"MIDDLE" "END"' language='""' size='1.000'
- spacing='1.1' style='PLAIN' topToBottom='true'>
- <MetadataSet name='BPSet'>
- <MetadataString containerField='value' name='family' value='"family"'/>
- <MetadataString containerField='value' name='horizontal' value='"horizontal"'/>
- <MetadataString containerField='value' name='size' value='"size"'/>
- <MetadataString containerField='value' name='style' value='"style"'/>
- <MetadataString containerField='value' name='justify' value='"justify"'/>
- </MetadataSet>
- </FontStyle>
- </Text>
- </Shape>
- </Transform>
- </Transform>
- </Transform>
-
- <!--All nodes in this set are injected-->
-
- <Transform DEF='InjectSet'>
- <ScalarInterpolator DEF='TextFadeZoomInterpolator' key='0 1' keyValue='0 1'/>
- <ScalarInterpolator DEF='TextFadeZoomTransparencyInterpolator' key='0 0.4 0.5 1' keyValue='1 0 0 1'/>
- <PositionInterpolator DEF='TextFadeZoomScaleInterpolator' key='0 0.4 1' keyValue='0.3 0.3 0.3, 1 1 1, 2 2 2'/>
- <ROUTE fromNode='TextFadeZoomInterpolator' fromField='value_changed' toNode='TextFadeZoomScaleInterpolator' toField='set_fraction'/>
- <ROUTE fromNode='TextFadeZoomInterpolator' fromField='value_changed' toNode='TextFadeZoomTransparencyInterpolator' toField='set_fraction'/>
-
- <ScalarInterpolator DEF='TextUITransparencyInterpolator' key='0 1' keyValue='0 1'>
- <MetadataSet name='BPSet'>
- <MetadataString containerField='value' name='transparency' value='"set_fraction"'/>
- </MetadataSet>
- </ScalarInterpolator>
- <ROUTE fromField="value_changed" fromNode="TextUITransparencyInterpolator" toField="keyValue" toIndex="1" toNode="TextFadeZoomTransparencyInterpolator"/>
- <ROUTE fromField="value_changed" fromNode="TextUITransparencyInterpolator" toField="keyValue" toIndex="2" toNode="TextFadeZoomTransparencyInterpolator"/>
-
- <ROUTE fromNode="TextFadeZoomTransparencyInterpolator" fromField="value_changed" toNode="TextEffectMaterial" toField="transparency" />
- <ROUTE fromNode="TextFadeZoomScaleInterpolator" fromField="value_changed" toNode="TextEffectZoomTransform" toField="scale" />
-
- <!-- Set the center of the zoom to be the centroid of the text object's bounding rectangle -->
- <!-- "Origin" is the vector from the origin of the local coordinate system to the upper left corner of the text bounding rectangle. -->
- <!-- We don't support vertical alignment modes so Origin.y is always 0. -->
- <!-- textBounds is the vector from the upper left corner of the text bounding rectangle to the lower right corner, thus: -->
- <!-- Center = Vec3f((Origin.x + textBounds.x)/2, textBounds.y/2, 0) -->
-
- <!-- Get the origin of the text object and add the X component to the width -->
- <MathVector DEF='TextMathNodeOriginSplit'/>
- <ROUTE fromNode='TextEffectText' fromField='Origin' toNode='TextMathNodeOriginSplit' toField='Vec3'/>
- <ROUTE fromNode='TextMathNodeOriginSplit' fromField='ComponentX' toNode='TextMathNodeOriginAdd' toField='Operand'/>
- <MathScalar DEF='TextMathNodeOriginAdd' Multiplier='1.0'/>
-
- <MathVector DEF='TextMathBoundsSplitter'/>
- <!-- Get the size of the text object -->
- <ROUTE fromNode='TextEffectText' fromField='TextBounds' toNode='TextMathBoundsSplitter' toField='Vec2'/>
- <ROUTE fromNode='TextMathBoundsSplitter' fromField='ComponentX' toNode='TextMathNodeOriginAdd' toField='addend'/>
- <ROUTE fromNode='TextMathNodeOriginAdd' fromField='ProdSum' toNode='TextCenterXInterpolator' toField='set_fraction'/>
- <ROUTE fromNode='TextMathBoundsSplitter' fromField='ComponentY' toNode='TextCenterY0Interpolator' toField='set_fraction'/>
- <ROUTE fromNode='TextMathBoundsSplitter' fromField='ComponentY' toNode='TextCenterY1Interpolator' toField='set_fraction'/>
- <PositionInterpolator DEF='TextCenterXInterpolator' key='-100 100' keyValue='0 0 0, 0 0 0'/>
- <!-- These two interpolators calculate the Y component of a Vec3f which become start and end keyValues for the above TextCenterXInterpolator, -->
- <!-- which then calculates the X component. This set of interpolators also does the divide by 2. -->
- <PositionInterpolator DEF='TextCenterY0Interpolator' key='-100 0' keyValue='-50 -50 0, -50 0 0'/>
- <PositionInterpolator DEF='TextCenterY1Interpolator' key='-100 0' keyValue=' 50 -50 0, 50 0 0'/>
- <ROUTE fromNode='TextCenterY0Interpolator' fromField='value_changed' toNode='TextCenterXInterpolator' toField='keyValue' toIndex='0'/>
- <ROUTE fromNode='TextCenterY1Interpolator' fromField='value_changed' toNode='TextCenterXInterpolator' toField='keyValue' toIndex='1'/>
- <ROUTE fromNode='TextCenterXInterpolator' fromField='value_changed' toNode='TextEffectZoomTransform' toField='center' />
-
-
- </Transform>
-
- </Transform>
- </X3D>
-