

browser
:- object browser : [bcilib].
do_set(T,F,X) :-
format('begin set(~w,~w,~w)~n',[T,F,X]),
set(T,F,X),!,
format('end set(~w,~w,~w)~n',[T,F,X]).
set(T,F,mfstring(X)):- setMFString(T,F,X).
set(T,F,sfint32(X)):- setSFInt32(T,F,X).
set(T,F,sffloat(X)):- setSFFloat(T,F,X).
set(T,F,sftime(X)):- setSFTime(T,F,X).
set(T,F,sfnode(X)):- setSFNode(T,F,X).
set(T,F,sfcolor(R,G,B)):- setSFColor(T,F,R,G,B).
set(T,F,sfvec3f(X,Y,Z)):- setSFVec3f(T,F,X,Y,Z).
set(T,F,sfrotation(X,Y,Z,R)):- setSFRotation(T,F,X,Y,Z,R).
get(T,F,mfstring(X)):- getMFString(T,F,X).
get(T,F,sfint32(X)):- getSFInt32(T,F,X).
get(T,F,sffloat(X)):- getSFFloat(T,F,X).
get(T,F,sftime(X)):- getSFTime(T,F,X).
get(T,F,sfcolor(R,G,B)):- getSFColor(T,F,R,G,B).
get(T,F,sfvec3f(X,Y,Z)):- getSFVec3f(T,F,X,Y,Z).
get(T,F,sfrotation(X,Y,Z,R)):- getSFRotation(T,F,X,Y,Z,R).
observe(N,F,O) :- eventObserverObject(N,F,O).
fm([X],F,L) :- format_to_atom(X,F,L).
setfm(O,F,S):-
fm(X,S,[]),
set(O,F,mfstring(X)).
load(U) :- loadURL(U).
:- end_object browser.