List of articles   choose language


Demonstration of motions



Agreements

tagattributecharacteristicstyle
new html-keywordslinealingpointdefault
values of new html-keywordssideromb
old html-keywordstdidlist
values of old html-keywordscircle
communication xmlsoundsyncpower
values of communication xmlnouser
keyboard and mouser commandenter

Concept

Demonstration of motions is intended for writing dinamic schemes, presentation (in addition to static scheme, written by lines). They mostly consist of motions of sections (specified by movement of two their ends). Often we need to group not only two motions (two ends of line), but also motion of many lines through different time interval. We shall name groups as modules.

It's more comfortable to write this finite automaton by listing of motions, instead of writing functions by JavaScript (module "A" is named as calling elements, objects "B", "C", "D", "E" are named as executing elements).

<A>
  <dragdot name=B x= y= num=10>
  <dragdot name=C x= y= num=20>
  <obj name=D ns=ns30>
  <obj name=E ns=ns40>
</A>
It's necessary to specify module name "A", anticipated by colon, in field "new state" of transition sheet for executing module.
css1 F10 :A

Let's write down all modules in a separate file, for example, "b.txt", and add following tag inside tag head

<link src="./b.xml" type="module">

Movements

for change style
browser server module
<dot      name= num= cmd= os= ns= >
<section  name= num= cmd= os= ns= user-x= user-y= >
<line     name=      cmd= os= ns= user-x= user-y= >

<ele      name= num= cmd= os= ns= >

<obj      name=      cmd= os= ns= >

<module   name=      cmd= os= m= >                 
<dot      name= num=     ns= >
<section  name= num=     ns= >
<obj      name=          ns= >

<ele      name= num=     ns= >

<obj      name=          ns= >

<module   name=          m= >       

for change coordinates of broken line and place of tree element
browser server module
<dragdot  name= num=      x=  y= >

<dropdot  name= num=              onname= onnum= >
<dragline name=           dx= dy= >

<deldot   name= num= >                             
<dragdot  name= num= x=  y=  time=  >
<dragdot  name= num= x=  y=  speed= >

<dragline name=      dx= dy= time=  >
<dragline name=      dx= dy= speed= >
<deldot   name= num= >
<rotline  name=      angle=  time=  type= axis= >
<rotline  name=      angle=  speed= type= axis= >

for opening a new window
browser server module
<dot      name= num= cmd= os= ns=F>
<section  name= num= cmd= os= ns=F user-x= user-y= >
<line     name=      cmd= os= ns=F user-x= user-y= >

<ele      name= num= cmd= os= ns=F>

<obj      name=      cmd= os= ns=F>
          - do not exist -          

additional movements
browser server module
                 - do not exist -                  
<sound src= >
<say type= data= voice= >           



Additional parameters of movements: time

In actions for moving a point or line (count)

<dragdot  name= num= x=  y= >
<dragline name=      dx= dy= >
when it's necessary, that a location will changed not by jump, but smoothly, during some time, attribute time is used, which defines time of moving. If not time, but speed is need to be set, then atribute speed is used in millimeters per second (mm/sec).

Absence of both these parameters is equivalent to time = 0 and speed = ∞

Parameters time and speed are exclusive mutually.

<dragdot  name= x=  y=  num= time=  >
<dragdot  name= x=  y=  num= speed= >
<dragline name= dx= dy=      time=  >
<dragline name= dx= dy=      speed= >

Last moved object lays over all others (in limits of tag layer).



Additional movements

Rotations

Action rotline rotates broken line (count), which name is specified in attribute name, around point (of this or another) broken line - if action attribute type=id - or around any point - if type=coord (origin of designations: coord=coordinates). Unique identifier of broken line point or coordinates of rotation centre are in attribute axis. Angle of rotation is set in attribute angle in degrees. Programmer can specify time of rotation - attribute time should be defined for that - or speed of rotation - attribute speed should be defined in degrees per second for this purpose.

Absence of both these parameters is equivalent to time = 0 and speed = ∞

Parameters time and speed are exclusive mutually.

<rotline name= type= axis= angle= time=  >
<rotline name= type= axis= angle= speed= >

Sound

Click is start of some procedure, functions, beginning of work of some object. It's necessary in some cases, that browser notifies user by voice, what operation is started. It's necessary during modeling of technical (and natural) processes, that browser announce a speech comment or play a sound file, containing sounds, issued by technical (or natural) object.

There are following sources of a sound:


Voice is complex of many parameters: speed, height, loudness power, listed in a separate file.

v1 {
 speed:  128;
 height: 84;
 power:  100;
}
Certainly, browser has some default voice. Marks "plus" or "minus" specify how parameter must change concerning value, used by default.
v2 {
 speed:  +20;
 height: +10;
 power:  +50;
}

If type=id, then attribute voice of announcing html-tag has a priority above attribute voice of xml-tag.

<p   id=id1  voice=v2>pronounce that</p>
<say type=id data="id1" voice=v2>

Let's write down all voices in a separate file, for example, "a.txt", and add following tag inside tag head

<link src="./a.txt" type="voice">

Details

Actions order

Browser executes actions consistently. It executes actions simultaneously, which are inside tags <<>> and <</>> It execute consistently such actions inside simultaneous part of execution, which are inside tags <> and </>

<<>>
  <dragdot name=B x= y= num=10>
  <dragdot name=C x= y= num=20>
<</>>
<<>>
  <obj name=D ns=ns30>
  <obj name=E ns=ns40>
<</>>
<<>>
  <<>>
    <dragdot name=B x= y= num=10>
    <dragdot name=C x= y= num=20>
  <</>>
  <obj name=D ns=ns30>
<</>>
<obj name=E ns=ns40>

Module characteristics

Module has facultative attribute seq (origin of designations: seq = sequence).

<module_name seq=seq_name> ... </module_name>
Sequence is complex of following parameters: dozing (doze), synchronism (sync), cycleness (cycle), listed in a separate file.
module {
  doze:  pause;
  sync:  noserver;
  cycle: 9;
}

Parameter doze specifies, how a module should react, if it will be started once more by user or server during execution time. Browser don't pay attention at other modules during that.


Parameter sync specifies, when other module should be executed, which is started during executing of this module.


Parameter cycle specifies quantity of repetitions of executing. It can be an integer or value loop, specifing to repeat indefinitely. Parameter is equal to one by default (play one time).


When change of a state, of a location and playing a sound occur simultaneously, then duration of this simultaneous event is equal to greatest of following duration: duration of transition into new state time, duration of transition into new location time, time of sound playing.


Let's write down all sequences in a separate file, for example, "d.txt", and add following tag inside tag head

<link src="./d.txt" type="sequence">

Parameters of a module - doze, sync, cycle - can be specified in a module directly.

<module_name doze=pause sync=noserver cycle=9> ... </module_name>

Form sends

If object, which call module, is inside tag form, then browser informs server about performance of a module. Form sends data on pressing the button "submit", but only after executing of module.

<module name=A  cmd=F10 os=...     m=A>
<module name=A2 cmd=F10 os=... i=I m=A>
<module name=A3 cmd=F10 os=... i=I m=A>

A command, which tries to put some object into unknown state, results to opening a new window. Browser does not send any additional information to server, if such command was called in a module.

Browser does not check possibility of performance of all commands in module before a beginning of performance.

Loading of new page, started from a module, stop performance of actions in module, which has no time to execute.



Resume

Attributes
tag attribute list of possible values
any voice  
link type module, voice, sequence


Attributes
tag attribute default value list of possible values
sound src    
say type ph ph, id, sil
data    
voice    


"Voice" characteristics
characteristic default value list of possible values
speed   any integer
height   any integer
power   any integer


"Sequence" characteristics
characteristic default value list of possible values
doze home home, pause, repeat, break
sync market market, dialogue, noserver, nouser
cycle 1 any non-negative integer, loop



html60author



List of articles   choose language


Используются технологии uCoz