Something went wrong on our end
-
Brutzman, Don authoredBrutzman, Don authored
BooleanGenerator.wrl 11.91 KiB
#VRML V2.0 utf8
# X3D-to-VRML-97 XSL translation autogenerated by X3dToVrml97.xsl
# http://www.web3D.org/TaskGroups/x3d/translation/X3dToVrml97.xsl
# [X3D] VRML V3.0 utf8
# [head]
# [meta] filename: FilterExamples.x3d
# [meta] description: Contains examples for the prototypes defined in the FilterPrototypes.x3d
# [meta] author: Don Brutzman, James Harney, Jane Wu
# [meta] created: 18 December 2001
# [meta] revised: 27 October 2002
# [meta] reference: http://web.nps.navy.mil/~brutzman/Savage/Tools/Authoring/FilterPrototypes.x3d
# [meta] keywords: filter
# [meta] url: http://web.nps.navy.mil/~brutzman/Savage/Tools/Authoring/FilterExamples.x3d
# [meta] generator: X3D-Edit, http://www.web3d.org/TaskGroups/x3d/translation/README.X3D-Edit.html
EXTERNPROTO BooleanSequencer [
# Regular interpolator-style input
eventIn SFFloat set_fraction # [appInfo] typically range [0..1]
# When Script node supports exposedField, then it would be better to change key to exposedField.
eventIn MFFloat set_key
field MFFloat key # [appInfo] Array sequentially increasing, typically [0..1]. Must have the same number of keys as keyValues.
eventOut MFFloat key_changed
# When Script node supports exposedField, then it would be better to change keyValue to exposedField.
eventIn SFString set_keyValue
field SFString keyValue # [appInfo] Array of Boolean values (implemented as SFString). Must have the same number of keys as keyValues.
eventOut SFString keyValue_changed
# Regular interpolator-style output
eventOut SFBool value_changed
# Utility methods
eventIn SFBool previous
eventIn SFBool next
][
"BooleanSequencerPrototype.wrl#BooleanSequencer"
"/www.web3D.org/TaskGroups/x3d/translation/examples/development/BooleanSequencerPrototype.wrl#BooleanSequencer"
"c:/www.web3D.org/TaskGroups/x3d/translation/examples/development/BooleanSequencerPrototype.wrl#BooleanSequencer"
"http://www.web3D.org/TaskGroups/x3d/translation/examples/development/BooleanSequencerPrototype.wrl#BooleanSequencer"
"http://web.nps.navy.mil/~brutzman/Savage/Tools/Animation/BooleanSequencerPrototype.wrl#BooleanSequencer"
"BooleanSequencerPrototype.x3d#BooleanSequencer"
"/www.web3D.org/TaskGroups/x3d/translation/examples/development/BooleanSequencerPrototype.x3d#BooleanSequencer"
"c:/www.web3D.org/TaskGroups/x3d/translation/examples/development/BooleanSequencerPrototype.x3d#BooleanSequencer"
"http://www.web3D.org/TaskGroups/x3d/translation/examples/development/BooleanSequencerPrototype.x3d#BooleanSequencer"
"http://web.nps.navy.mil/~brutzman/Savage/Tools/Animation/BooleanSequencerPrototype.x3d#BooleanSequencer"
# CosmoPlayer/Netscape 4.79 url bug workaround:
"file:///c|\www.web3D.org\TaskGroups\x3d\translation\examples\development\BooleanSequencerPrototype.wrl#BooleanSequencer"
]
# [Scene]
EXTERNPROTO FilterBooleanPassTrueEvents [
# nodeType Script
eventIn SFBool setBoolean
eventOut SFBool trueEventOut
eventOut SFTime trueEventTime
][
"FilterPrototypes.wrl#FilterBooleanPassTrueEvents"
"http://web.nps.navy.mil/~brutzman/Savage/Tools/Authoring/FilterPrototypes.wrl#FilterBooleanPassTrueEvents"
"FilterPrototypes.x3d#FilterBooleanPassTrueEvents"
"http://web.nps.navy.mil/~brutzman/Savage/Tools/Authoring/FilterPrototypes.x3d#FilterBooleanPassTrueEvents"
]
EXTERNPROTO FilterBooleanPassFalseEvents [
# nodeType Script
eventIn SFBool setBoolean
eventOut SFBool falseEventOut
eventOut SFTime falseEventTime
][
"FilterPrototypes.wrl#FilterBooleanPassFalseEvents"
"http://web.nps.navy.mil/~brutzman/Savage/Tools/Authoring/FilterPrototypes.wrl#FilterBooleanPassFalseEvents"
"FilterPrototypes.x3d#FilterBooleanPassFalseEvents"
"http://web.nps.navy.mil/~brutzman/Savage/Tools/Authoring/FilterPrototypes.x3d#FilterBooleanPassFalseEvents"
]
EXTERNPROTO SingleTypeConversion [
# nodeType Script
field SFInt32 decimalPlaces
eventIn SFInt32 setDecimalPlaces
eventIn SFBool BooleanValue
eventIn SFFloat FloatValue
eventIn SFInt32 IntegerValue
eventIn SFTime TimeValue
eventOut SFBool BooleanResult
eventOut SFFloat FloatResult
eventOut SFInt32 IntegerResult
eventOut SFTime TimeResult
eventOut SFString StringResult
eventOut MFString StringsResult
][
"SingleTypeConversion.wrl#SingleTypeConversion"
"http://web.nps.navy.mil/~brutzman/Savage/Tools/Authoring/SingleTypeConversion.wrl#SingleTypeConversion"
"SingleTypeConversion.x3d#SingleTypeConversion"
"http://web.nps.navy.mil/~brutzman/Savage/Tools/Authoring/SingleTypeConversion.x3d#SingleTypeConversion"
]
EXTERNPROTO SliderFloat [
# nodeType Group
field SFString layoutDirection
field SFFloat height
field SFFloat radius
field SFFloat barRadius
field SFColor sliderBarColor
field SFColor sliderBallColor
field SFColor sliderEndColor
field SFFloat min
field SFFloat max
field SFFloat value
eventIn SFFloat setMin
eventIn SFFloat setMax
eventIn SFFloat setValue
eventOut SFFloat valueChanged
field SFBool dragEnabled
eventIn SFBool setDragEnabled
eventOut SFBool dragEnabledChanged
field SFBool clickEnabled
eventIn SFBool setClickEnabled
eventOut SFBool clickEnabledChanged
][
"../../Tools/Animation/SliderFloatPrototype.wrl#SliderFloat"
"http://web.nps.navy.mil/~brutzman/Savage/Tools/Animation/SliderFloatPrototype.wrl#SliderFloat"
"../../Tools/Animation/SliderFloatPrototype.x3d#SliderFloat"
"http://web.nps.navy.mil/~brutzman/Savage/Tools/Animation/SliderFloatPrototype.x3d#SliderFloat"
]
Viewpoint {
description "Filter Examples"
position 0 0 15
}
NavigationInfo {
type [ "EXAMINE" "ANY" ]
}
Billboard {
axisOfRotation 0 0 0
children [
Transform {
translation 0 4 0
children [
Shape {
appearance Appearance {
material Material {
diffuseColor 0 1 1
}
}
geometry Text {
string [ "FilterBooleanPassTrueEvents,"
"FilterBooleanPassFalseEvents:"
""
"drag slider to test examples" ]
fontStyle FontStyle {
justify [ "MIDDLE" "MIDDLE" ]
size 0.8
}
}
}
]
}
Transform {
translation 0 1 0
children [
Shape {
appearance Appearance {
material Material {
}
}
geometry Text {
string [ "BooleanSequencer:"
"key {0, 0.25, 0.5, 0.75, 1} keyValue {0, 1, 0, 1, 0}" ]
fontStyle FontStyle {
justify [ "MIDDLE" "MIDDLE" ]
size 0.6
}
}
}
DEF BooleanGenerator BooleanSequencer {
key [ 0, 0.25, 0.5, 0.75, 1 ]
keyValue "false true false true false"
}
]
}
Transform {
translation -4 -1 0
children [
Shape {
appearance Appearance {
material Material {
}
}
geometry Text {
string [ "Fraction:" ]
fontStyle FontStyle {
size 0.6
}
}
}
Transform {
translation 3 0 0
children [
Shape {
appearance Appearance {
material Material {
}
}
geometry DEF BooleanFractionText Text {
string [ "N/A" ]
fontStyle FontStyle {
size 0.6
}
}
}
]
}
Transform {
translation 6 0.15 0
children [
DEF Slider SliderFloat {
layoutDirection "horizontal"
min 0
max 1
height 4
}
]
ROUTE Slider.valueChanged TO BooleanGenerator.set_fraction
}
DEF BooleanFractionRoundOff SingleTypeConversion {
decimalPlaces 2
}
]
ROUTE Slider.valueChanged TO BooleanFractionRoundOff.FloatValue
ROUTE BooleanFractionRoundOff.StringsResult TO BooleanFractionText.set_string
}
Transform {
translation -5 -3 0
children [
Shape {
appearance Appearance {
material Material {
}
}
geometry Text {
string [ "PassTrueEvents:" ]
fontStyle FontStyle {
size 0.6
}
}
}
Transform {
translation 3.85 0.15 0
children [
Shape {
appearance Appearance {
material DEF TrueLightMaterial Material {
diffuseColor 0.45 0.45 0.45
emissiveColor 0.45 0.45 0.45
}
}
geometry Sphere {
radius 0.2
}
}
DEF TrueScript Script {
eventIn SFBool setTrue
eventOut SFColor colorChanged
url [ "javascript:
var r, g, b;
function initialize(timeStamp)
{
r = 0;
g = 0;
b = 0;
}
function setTrue(value, timeStamp)
{
if ( r >= 0.5)
r = 0.25;
else
r = r + 0.25;
if ( b >= 0.5)
b = 0.25;
else
b = b + 0.25;
colorChanged = new SFColor(r, g, b);
}
" ]
}
DEF TrueEventFilter FilterBooleanPassTrueEvents {
}
]
ROUTE BooleanGenerator.value_changed TO TrueEventFilter.setBoolean
ROUTE TrueEventFilter.trueEventOut TO TrueScript.setTrue
ROUTE TrueScript.colorChanged TO TrueLightMaterial.diffuseColor
ROUTE TrueScript.colorChanged TO TrueLightMaterial.emissiveColor
}
]
}
Transform {
translation 0 -3 0
children [
Shape {
appearance Appearance {
material Material {
}
}
geometry Text {
string [ "PassFalseEvents:" ]
fontStyle FontStyle {
size 0.6
}
}
}
Transform {
translation 4 0.15 0
children [
Shape {
appearance Appearance {
material DEF FalseLightMaterial Material {
diffuseColor 0.45 0.45 0.45
emissiveColor 0.45 0.45 0.45
}
}
geometry Sphere {
radius 0.2
}
}
DEF FalseScript Script {
eventIn SFBool setFalse
eventOut SFColor colorChanged
url [ "javascript:
var r, g, b;
function initialize(timeStamp)
{
r = 0;
g = 0;
b = 0;
}
function setFalse(value, timeStamp)
{
if ( g >= 0.5)
g = 0.25;
else
g = r + 0.25;
if ( b >= 0.5)
b = 0.25;
else
b = b + 0.25;
colorChanged = new SFColor(r, g, b);
}
" ]
}
DEF FalseEventFilter FilterBooleanPassFalseEvents {
}
]
ROUTE BooleanGenerator.value_changed TO FalseEventFilter.setBoolean
ROUTE FalseEventFilter.falseEventOut TO FalseScript.setFalse
ROUTE FalseScript.colorChanged TO FalseLightMaterial.diffuseColor
ROUTE FalseScript.colorChanged TO FalseLightMaterial.emissiveColor
}
]
}
]
}