Type |
link-
basic |
link
- slidable |
Example |
Text : Unstructured |
EXTERNPROTO panel [ field SFFloat ymargin #.25 field MFString family #"SANS" field MFString justify #'BEGIN' 'MIDDLE' 'END' field SFString style field SFFloat fontspacing #1 field SFFloat capsfactor #1 exposedField MFString message #["hello", "world"] exposedField SFColor tcolor #0 0 0 field SFBool haspanel exposedField SFColor pcolor #1 1 1 exposedField SFFloat ptransp #.4 exposedField SFVec3f position #0 0 0 ] ["../Protos/textpanel.wrl"] |
EXTERNPROTO panel_drag [ field SFFloat xmag #1 field SFFloat ymag #1 exposedField SFBool psEnabled #TRUE exposedField SFVec2f psMaxPosition# -1 -1 exposedField SFVec2f psMinPosition# 0 0 exposedField SFVec3f psOffset #0 0 0 eventOut SFBool psActive eventOut SFVec3f psTrackpt eventOut SFVec3f magPt field SFFloat ymargin #.25 field MFString family #"SANS" field MFString justify #'BEGIN' 'MIDDLE' 'END' field SFString style field SFFloat fontspacing #1 field SFFloat capsfactor #1 exposedField MFString message #["hello", "world"] exposedField SFColor tcolor #0 0 0 field SFBool haspanel exposedField SFColor pcolor #1 1 1 exposedField SFFloat ptransp #.4 exposedField SFVec3f position #0 0 0 exposedField SFFloat maxExtent ] ["../Protos/textpanel-b_slide.wrl"] |
|
Text : Field-Value pair |
EXTERNPROTO panel [ field SFFloat ymargin #0 field MFString family #"SANS" field SFString style #"PLAIN" field MFString justify #"BEGIN" field SFFloat fontspacing #.85 field SFFloat capsfactor #1 field SFBool haspanel #TRUE exposedField MFString title #["Tonsil"] exposedField MFString field_names #["B:","naiveB:","T-lytic:"] exposedField MFString field_values # ["0","10","000"] exposedField SFColor tcolor #0 0 0 exposedField SFColor pcolor #1 1 1 exposedField SFFloat ptransp #.4 exposedField SFVec3f position #0 0 0 eventIn MFString change_message ]["../Protos/textpanel2a.wrl"] |
||
Image: .jpg, .png, .gif |
EXTERNPROTO ImagePanel [exposedField MFString img #"3DEZ_110h.jpg" field SFBool repeatS #TRUE field SFBool repeatT #TRUE field SFVec2f tscal # 1 2 ] ["../Protos/imagepanel.wrl"] |
EXTERNPROTO ImagePanel [ exposedField MFString img #"3DEZ_110h.jpg" field SFBool repeatS #TRUE field SFBool repeatT #TRUE field SFVec2f tscal # 1 2 eventOut SFVec3f magPt field SFFloat xmag #1 field SFFloat ymag #1 ] ["../Protos/imagepanel_slide.wrl"] |
|
Movie (can include audio; click to start) .mpg (1) ... .mov? |
PROTO MoviePanel [ exposedField MFString mov "../bilbo5.mov" field SFBool repeatS TRUE field SFBool repeatT TRUE field SFVec2f tscal 1 2 #eventIn SFTime start ] ["../Protos/moviepanel.wrl"] |
||
Audio Clip: .wav; MIDI |
Type | Example |
|||
Popview : toggling bar graph / field-value text for PathSim (7 agents populations) |
EXTERNPROTO popview [ field SFFloat ymargin #0 field MFString family #"SANS" field SFString style #"PLAIN" field MFString justify #"BEGIN" field SFFloat fontspacing #.85 field SFFloat capsfactor #1 field SFBool haspanel #TRUE exposedField MFString title #["Tonsil"] exposedField MFString field_names #["B:","naiveB:","T-lytic:"] exposedField MFString field_values # ["0","10","000"] exposedField SFColor tcolor #0 0 0 exposedField SFColor pcolor #1 1 1 exposedField SFFloat ptransp #.4 exposedField SFVec3f position #0 0 0 eventIn MFString change_message eventIn MFFloat change_hist ]["../Protos/popview.wrl"] |
|||
Linegraphs: Axis |
EXTERNPROTO XAxis [ field SFFloat begin_label #0 field SFFloat end_label #10 field SFFloat interval #1 field MFString axis_label #"Crop Yield" field SFColor lin_color #0 0 0 # field SFFloat end 0 ] ["../Protos/XAxis2.wrl"] |
EXTERNPROTO YAxis [ field SFFloat begin_label #0 field SFFloat end_label #10 field SFFloat interval #1 field MFString axis_label #"Crop Yield" field SFColor lin_color #0 0 0 # field SFFloat end 0 ] ["../Protos/YAxis2.wrl"] |
EXTERNPROTO ZAxis [ field SFFloat begin_label #0 field SFFloat end_label #10 field SFFloat interval #1 field MFString axis_label #"Crop Yield" field SFColor lin_color #0 0 0 # field SFFloat end 0 ] ["../Protos/ZAxis2.wrl"] |
|
Linegraph: dataline |
EXTERNPROTO dataline [ field SFString point_shape #"Shape {}" field MFVec3f points #[] field SFColor lin_color #0 0 # these are the 3 values used per axis0 field SFVec3f x_scaling #0 10 1 field SFVec3f y_scaling #0 10 1 field SFVec3f z_scaling #0 10 1 ] ["../Protos/dataline.wrl"] |
|||
3 D Linegraph examples |
||||
3D scatterplots
and histograms - simple examples |
Extrusion as linegraph |
Semantic Objects:
Type |
||
Relative Infoposition - no selection, proximity-based |
EXTERNPROTO semanticObject1_noC
[ field MFFloat geoRange #[] field MFFloat infoRange #[] field MFNode geoLevel #[] field MFNode infoLevel #[] # no access to change the LOD children during runtime; X3D AMD 1 field SFBool hasLine field SFBool constantSize field SFBool periodicSize field SFFloat anoscale field SFBool clicktoHUD #FALSE field SFBool clicktoOverlay #FALSE exposedField MFString link #["http://www.3dez.net"] exposedField MFString parameter #[""] exposedField SFVec3f position #0 0 0 exposedField SFRotation rotation #0 0 0 0 exposedField SFVec3f infoposition #2 1 0 exposedField SFColor linecolor #1 1 1 eventOut SFInt32 activegeoLevel eventOut SFInt32 activeinfoLevel eventOut SFFloat modulatedSpeed # not used yet eventOut MFNode auxinfo ]["../Protos/SemanticObj1_on.wrl"] |
|
Relative Infoposition - selection toggles annotation visibility; |
default = visible EXTERNPROTO semanticObject1 [ field MFFloat geoRange #[] field MFFloat infoRange #[] field MFNode geoLevel #[] field MFNode infoLevel #[] # no access to change the LOD children during runtime; X3D AMD 1 field SFBool hasLine field SFBool constantSize field SFBool periodicSize field SFFloat anoscale field SFBool clicktoHUD #FALSE field SFBool clicktoOverlay #FALSE exposedField MFString link #["http://www.3dez.net"] exposedField MFString parameter #[""] exposedField SFVec3f position #0 0 0 exposedField SFRotation rotation #0 0 0 0 exposedField SFVec3f infoposition #2 1 0 exposedField SFColor linecolor #1 1 1 eventOut SFInt32 activegeoLevel eventOut SFInt32 activeinfoLevel eventOut SFFloat modulatedSpeed # not used yet eventOut MFNode auxinfo ]["../Protos/SemanticObj1_C_on.wrl"] |
default = invisible EXTERNPROTO semanticObject1C [ field MFFloat geoRange #[] field MFFloat infoRange #[] field MFNode geoLevel #[] field MFNode infoLevel #[] # no access to change the LOD children during runtime; X3D AMD 1 field SFBool hasLine field SFBool constantSize field SFBool periodicSize field SFFloat anoscale field SFBool clicktoHUD #FALSE field SFBool clicktoOverlay #FALSE field SFVec3f lineO exposedField MFString link #["http://www.3dez.net"] exposedField MFString parameter #[""] exposedField SFVec3f position #0 0 0 exposedField SFRotation rotation #0 0 0 0 exposedField SFVec3f infoposition #2 1 0 exposedField SFColor linecolor #1 1 1 eventOut SFInt32 activegeoLevel eventOut SFInt32 activeinfoLevel eventOut SFFloat modulatedSpeed # not used yet eventOut MFNode auxinfo ]["../Protos/SemanticObj1_C.wrl"] |
Snap Object (basic)- supports highlighting geometry from events See also general layout for a Snap scene... |
EXTERNPROTO SnapObject [ eventIn SFBool load # manifest in senegraph or get annotation details on demand eventIn SFBool select # highlight/wireframe or show annotation details on demand... eventIn SFBool scroll # animate a viewpoint to or including this object eventIn SFBool filter # this is at the snap component level, maybe to only draw certain records eventOut SFTime touchTime #field MFFloat geoRange [] #field MFFloat infoRange [] #field MFNode geoLevel [] #field MFNode infoLevel [] field SFNode geometry #Group{} # let's use Group {} or Shape {} for now .... field SFNode selectedGeometry #Group{} exposedField SFVec3f position #0 0 0 exposedField SFRotation rotation #0 0 0 0 #field MFFloat geoRange ]["../Protos/SnapObjectnoT.wrl"] |
|
2 Annotation layout at closest corner point - developer can define all 8 points for the bounds, as well as an offset |
EXTERNPROTO semanticObject2
[ field MFFloat geoRange #[] field MFFloat infoRange #[] field MFNode geoLevel #[] field MFNode infoLevel #[] # no access to change the LOD children during runtime; X3D AMD 1 field SFBool hasLine field SFBool constantSize field SFBool periodicSize field SFFloat anoscale field SFBool clicktoHUD #FALSE field SFBool clicktoOverlay #FALSE field MFVec3f maxBoundingBox field SFFloat obInfoOffset exposedField MFString link #["http://www.3dez.net"] exposedField MFString parameter #[""] exposedField SFVec3f position #0 0 0 exposedField SFRotation rotation #0 0 0 0 exposedField SFVec3f infoposition #2 1 0 exposedField SFColor linecolor #1 1 1 eventOut SFInt32 activegeoLevel eventOut SFInt32 activeinfoLevel eventOut SFFloat modulatedSpeed # not used yet eventOut MFNode auxinfo ]["../Protos/SemanticObj2.wrl"] |
|
3 Panel location on spherical bounds (needs work ... offset?) |
EXTERNPROTO semanticObject3 [ # this it
the spherical |
|
4
|
panels tend toward nearest box corner (goal) & avoid
other Semantic Objects |
See http://csgrad.cs.vt.edu/%7Enpolys/VE/IRVE_Project/SemanticObj4.html |
5 Semantic Object: HUD Note: This behavior requires using an auto-sized HUD and a HUDManager Script {} to initialize and update all Semantic Objects to their annotation's position on the HUD |
EXTERNPROTO Semantic_obj_hud
[ field MFFloat geoRange #[] field MFFloat infoRange #[] field MFNode geoLevel #[] field MFNode infoLevel #[] field SFBool hasLine field SFBool constantSize field SFBool periodicSize field SFFloat anoscale field SFBool clicktoHUD #FALSE field SFBool clicktoOverlay #FALSE exposedField MFString link #["http://www.3dez.net"] exposedField MFString parameter #[""] exposedField SFVec3f position #0 0 0 exposedField SFRotation rotation #0 0 0 0 exposedField SFColor linecolor #1 1 1 eventOut SFInt32 activegeoLevel eventOut SFInt32 activeinfoLevel eventOut SFFloat modulatedSpeed # not used yet eventIn SFVec3f hud_offset eventIn SFVec3f hud_scale eventIn SFVec3f hud_pos # may delete, now list field SFVec3f infoPosition eventIn MFFloat hudList field SFInt32 index #0 eventOut SFInt32 clicked ]["../Protos/Semantic_obj_hudc_slide.wrl"] |
Note: animation keys are written in the PROTO definition in anipack.wrl; this for PathSim efficiency. |
|||
String
Sequencer |
EXTERNPROTO Str_Sequencer [ # field MFFloat key #[0, 1] field SFInt32 batch #1 field MFString field_values #[] eventIn SFFloat set_fraction eventOut MFString value_changed ] ["../Protos/anipack.wrl#Str_Sequencer"] |
||
Float
Sequencer |
EXTERNPROTO Str_Sequencer [ # field MFFloat key #[0, 1] field SFInt32 batch #1 field MFString field_values #[] eventIn SFFloat set_fraction eventOut MFString value_changed ] ["../Protos/anipack.wrl#Str_Sequencer"] |
||
Scalar
Intperpolator (wrapped) |
EXTERNPROTO SCALA [ exposedField MFFloat keyValue eventIn SFFloat set_fraction eventOut SFFloat value_changed ]["../Protos/anipack.wrl#SCALA"] |
||
Color
Interpolator (wrapped) |
EXTERNPROTO
COLO [ exposedField MFColor keyValue eventIn SFFloat set_fraction eventOut SFColor value_changed ]["../Protos/anipack.wrl#COLO"] |
||
BooleanFilter |
EXTERNPROTO
BooleanFilter [ # [appinfo] BooleanFilter selectively passes true, false or negated events. eventIn SFBool set_boolean # [appinfo] set_boolean is the input value to be filtered. eventOut SFBool inputTrue # [appinfo] inputTrue only passes a true value, when set_boolean input is true. eventOut SFBool inputFalse # [appinfo] inputFalse only passes a false value, when set_boolean is false. eventOut SFBool inputNegate # [appinfo] inputNegate provides opposite value by negating set_boolean input. ] [../Protos/EventUtilityPrototypes.wrl#BooleanFilter] |
||
BooleanToggle | PROTO BooleanToggle
[ # [appinfo] BooleanToggle maintains state and negates output when a true input is provided. eventIn SFBool set_boolean # [appinfo] If set_boolean input is true, toggle state. # warning: toggle depends on exposedField functionality in Script node, not compatible with VRML 97. # implemented as inputOnly/initializeOnly/outputOnly triplet. eventIn SFBool set_toggle # [appinfo] Reset persistent state value. field SFBool toggle # FALSE # [appinfo] Persistent state value that gets toggled or reset. eventOut SFBool toggle_changed # [appinfo] Output toggled persistent state value. ] [../Protos/EventUtilityPrototypes.wrl#BooleanToggle] |
||
BooleanTrigger | EXTERNPROTO
BooleanTrigger [ # [appinfo] BooleanTrigger converts time events to boolean true events. eventIn SFTime set_triggerTime # [appinfo] set_triggerTime provides input time event, typical event sent is TouchSensor touchTime. eventOut SFBool triggerTrue # [appinfo] triggerTrue outputs a true value whenever a triggerTime event is received. ] [../Protos/EventUtilityPrototypes.wrl#BooleanTrigger] |
||
IntegerTrigger | EXTERNPROTO
IntegerTrigger [ # [appinfo] IntegerTrigger converts boolean true or time input events to integer value (suitable for Switch node). eventIn SFBool set_boolean # [appinfo] If set_boolean input is true, trigger output of integer value. eventIn SFInt32 set_integerKey # [appinfo] Resets value used for output when triggered later. exposedField SFInt32 integerKey #-1 # [appinfo] integerKey is value for output when triggered. eventOut SFInt32 integerKey_changed # [appinfo] Reports change in integerKey value. eventOut SFInt32 triggerValue # [appinfo] triggerValue provides integer event output matching integerKey when true set_boolean received. ] [../Protos/EventUtilityPrototypes.wrl#IntegerTrigger ] |
||
TimeTrigger | EXTERNPROTO
TimeTrigger [ # [appinfo] TimeTrigger converts boolean true events to time events. eventIn SFBool set_boolean # [appinfo] If set_boolean input is true, trigger output time value. eventOut SFTime triggerTime # [appinfo] triggerTime is output time event, sent when set_boolean input is true. ] [../Protos/EventUtilityPrototypes.wrl#TimeTrigger ] |
Type | ||
Basic |
EXTERNPROTO HUD [ exposedField SFVec3f offset #0 0 -.5 exposedField SFVec3f scal #1 1 1 exposedField MFNode chile #[Group {}] ]["../Protos/hud.wrl#HUD"] |
|
Auto_size: uses the offset to scale the HUD space to 10 M on its shortest side |
for ViewPoint fOV = 1.047
radians EXTERNPROTO auto_HUD [ field SFVec3f offset #0 0 0 exposedField SFVec3f scal # 1 1 1 exposedField MFNode chile #[Group {}] exposedField MFFloat ASize #[0.25, 1.6, 0.75] exposedField SFFloat fieldOfView # 0.785398 eventOut SFVec3f offsetOut eventOut SFVec3f scale ]["../Protos/auto_hud2b.wrl"] |
for ViewPoint fOV = 1.74 radians EXTERNPROTO auto_HUD [ field SFVec3f offset #0 0 0 exposedField SFVec3f scal # 1 1 1 exposedField MFNode chile #[Group {}] exposedField MFFloat ASize #[0.25, 1.6, 0.75] exposedField SFFloat fieldOfView # 0.785398 eventOut SFVec3f offsetOut eventOut SFVec3f scale ] ["../Protos/auto_hud3b.wrl"] |
Viewport workspace see Semantic Object HUD and ROUTES for HUDManager Script |
DEF
HUDManager Script { # assumes
larger h dim and panels of 4 x 2 eventIn SFInt32 aClick #gets the index of a semantic obnject toggled by click field MFString containerOrder ["N", "S", "E", "W"] field SFInt32 containerCapacity 4 field SFInt32 state 0 # of the directions field SFString CC "N" # the current container field SFInt32 numChildren 0 # in a container field MFInt32 nGrp [] field MFInt32 sGrp [] field MFInt32 eGrp [] field MFInt32 wGrp [] field MFFloat layoutStruct [] field SFVec3f nO 0 0 0 field SFVec3f sO 0 0 0 field SFVec3f eO 0 0 0 field SFVec3f wO 0 0 0 field SFFloat hI 5.1 field SFFloat vI 2.1 eventOut MFFloat posList url "javascript: ..." } |
|
Gyroscope |
EXTERNPROTO HUD_gyro
[ exposedField SFVec3f offset #0 0 -.5 exposedField SFVec3f scal #1 1 1 exposedField MFNode childs ] ["../Protos/hud.wrl#HUD_gyro"] |
|
Position /Orientation printer (to console) (original Daly) |
EXTERNPROTO ViewPositionOrientation
[ exposedField SFBool enabled # [appinfo] Whether or not ViewPositionOrientation sends output to console. field SFBool traceEnabled # [appinfo] Output internal trace messages for debugging this node - developer use only, can be ignored. eventIn SFBool set_traceEnabled # [appinfo] Ability to turn output tracing on/off at runtime. eventOut SFVec3f position_changed # [appinfo] Output local position. eventOut SFRotation orientation_changed # [appinfo] Output local orientation. eventOut MFString outputViewpointString # [appinfo] MFString value of new Viewpoint, # for example: <Viewpoint position="20 15 20" orientation="-0.516 0.83 0.212 0.9195"/> ][ "../Protos/ViewPositionOrientationPrototype.wrl#ViewPositionOrientation" "/www.web3d.org/x3d/content/examples/Savage/Tools/Authoring/ViewPositionOrientationPrototype.wrl#ViewPositionOrientation" "http://web.nps.navy.mil/~brutzman/Savage/Tools/Authoring/ViewPositionOrientationPrototype.wrl#ViewPositionOrientation" "../../Tools/Authoring/ViewPositionOrientationPrototype.x3d#ViewPositionOrientation" "/www.web3d.org/x3d/content/examples/Savage/Tools/Authoring/ViewPositionOrientationPrototype.x3d#ViewPositionOrientation" "http://web.nps.navy.mil/~brutzman/Savage/Tools/Authoring/ViewPositionOrientationPrototype.x3d#ViewPositionOrientation" "file:///c:/www.web3d.org/x3d/content/examples/Savage/Tools/Authoring/ViewPositionOrientationPrototype.wrl#ViewPositionOrientation" ] |
|
DVD Controller (branch vrml fix, npolys; original NPS) |
EXTERNPROTO DvdController [ field SFString displayMode # [appInfo] Initializes how control buttons and slider are displayed. The control buttons include DIS control (i.e. Master, Ghost, Local) and Playback control (i.e. Reset to Start, Fast Rewind, Rewind, Pause, Play, Fast Forward, Reset to End). Possible values are (case sensitive): ALL, DIS_ONLY, PLAYBACK_ONLY, SLIDER_ONLY, DIS_PLAYBACK, DIS_SLIDER, PLAYBACK_SLIDER, and NONE. eventIn SFString setDisplayMode # [appInfo] Sets how control buttons and slider are displayed. The control buttons include DIS control (i.e. Master, Ghost, Local) and Playback control (i.e. Reset to Start, Fast Rewind, Rewind, Pause, Play, Fast Forward, Reset to End). Possible values are (case sensitive): ALL, DIS_ONLY, PLAYBACK_ONLY, SLIDER_ONLY, DIS_PLAYBACK, DIS_SLIDER, PLAYBACK_SLIDER, and NONE. field SFBool playEnabled field SFColor buttonColor field SFColor selectedButtonColor field SFColor labelColor field SFColor selectedLabelColor field SFVec3f locationOffset field SFBool clockEnabled field SFTime cycleInterval eventIn SFTime setCycleInterval eventOut SFTime cycleIntervalChanged field SFFloat speedFactor eventOut SFBool isActive eventOut SFTime startTimeChanged eventOut SFTime stopTimeChanged eventOut SFTime timeChanged eventOut SFFloat fractionChanged eventOut SFTime secondsElapsed eventOut SFBool isMaster eventOut SFBool isRemote eventOut SFBool isLocal eventOut SFBool isPaused eventOut SFBool isRunning field SFBool traceEnabled ][ "../Protos/DvdControllerPrototype3.wrl#DvdController" "" "http://web.nps.navy.mil/~brutzman/Savage/Tools/HeadsUpDisplays/DvdControllerPrototype.wrl#DvdController" "http://web.nps.navy.mil/~brutzman/Savage/Tools/HeadsUpDisplays/DvdControllerPrototype.x3d#DvdController" ] There are a lot of good protos here too in the Tools section! |