Skip to main content

command-driven drawing/visualization/animation/presentation tool

Project description

https://github.com/h-ohsaki/cellx

NAME

cellx - command-driven drawing/visualization/animation/presentation tool

SCREENSHOTS

  • DTN simulator visualization

screenshot

  • DTN simulator visualization with blurring

screenshot

  • CCN simulator visualization with blurring

screenshot

  • CCN simulator visualization with blurring and blue-yellow (#3) color map

screenshot

  • DFC-BP+ visualization

screenshot

  • DFC-BP+ visualization

screenshot

  • WSN simulator visualization

screenshot

  • Circuit-switching illustration (converted from PostScript)

screenshot

  • M/M/1 queue illustration (converted from PostScript)

screenshot

DESCRIPTION

This manual page documents cellx, a one-pass interpreter of the CELL language. CELL language is a simple line-oriented language for dynamic graphics drawing. cellx reads a source code written in the CELL language from the standard input or specified files. Every line in the source code is parsed and interpreted. The output is drawn on a window using SDL library via pygame module or sent to the standard output in the PostScript format.

CELL LANGUAGE COMMANDS

alpha (name|regexp) alpha
animate name (goal_x goal_y|name[(+|-)dx(+|-)dy])
attach name parent_name dx dy
color (name|regexp) color
define name bitmap file [(x y|name[(+|-)dx(+|-)dy])]
define name box [-f color] [width height color (x y|name[(+|-)dx(+|-)dy])]
define name ellipse [-f color] [rx ry color] [(x y|name[(+|-)dx(+|-)dy])]
define name line [-ht] sx sy dx dy [width color]
define name link src_name dst_name [width color]
define name polygon [-f color] [-r degree] n r [color (x y|name[(+|-)dx(+|-)dy])]
define name spline x1 y1 x2 y2 x3 y3 [width color]
define name text [-lcr] string [size color (x y|name[(+|-)dx(+|-)dy])]
define name wire [-ht] sx sy dx dy [width color]
display
fade (name|regexp)...
fix (name|regexp)...
hide (name|regexp)...
kill (name|regexp)...
move (name|regexp) (x y|name[(+|-)dx(+|-)dy])
palette symbol (r g b [alpha]|name [alpha])
play file
priority (name|regexp) level
resize (name|regexp) (x y|name[(+|-)dx(+|-)dy])
scale (name|regexp) ratio
shift (name|regexp) dx dy
sleep x
spring [-f filter] [-r degree] (name|regexp)... [x1 y1 x2 y2]
unhide (name|regexp)...
wait

EXAMPLES

Many examples are found in ex directory contained in the source archive.

  • M/M/1 queue:
#define font_size 20
#define packet_color gray80

#define add_note_above(name, str) \
define name##_note text str font_size white name+0-40

#define add_note_below(name, str) \
define name##_note text str font_size white name+0+40

#define create_slot(name) \
  define name box -f black 10 50 white

#define create_slot_at(name, pos) \
  create_slot(name) pos

#define create_customer(name) \
  define name box -f black 10 50 packet_color

#define create_customer_at(name, pos) \
  create_customer(name) pos

define server ellipse -f black 30 30 white
add_note_below(server, server) 
move server_note server+.02+.08

create_slot_at(b1, server-35+0)
create_slot_at(b2, b1-10+0)
create_slot_at(b3, b2-10+0)
create_slot_at(b4, b3-10+0)
create_slot_at(b5, b4-10+0)
add_note_below(b5, buffer)
move b5_note b5+0+.08

define lb line -h .25 .5 b5-10+0 undef 2 black
define la line -h server+30+0 undef .65 .5 2 black

create_customer_at(c1, .33 .44)
create_customer_at(c2, .36 .44)
create_customer_at(c3, .56 .44)
create_customer_at(c4, .62 .44)

add_note_above(c1, customer)

display
wait

INSTALLATION

pip3 install cellx

AVAILABILITY

The latest version of cellx is available at PyPI (https://pypi.org/project/cellx/) .

SEE ALSO

cell - CELL language interpreter for visualization using SDL/OpenGL/PostScript/AVI/PDF (http://www.lsnl.jp/~ohsaki/software/cell)

AUTHOR

Hiroyuki Ohsaki <ohsaki[atmark]lsnl.jp>

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cellx-1.14.tar.gz (29.0 kB view details)

Uploaded Source

Built Distribution

cellx-1.14-py3-none-any.whl (51.0 kB view details)

Uploaded Python 3

File details

Details for the file cellx-1.14.tar.gz.

File metadata

  • Download URL: cellx-1.14.tar.gz
  • Upload date:
  • Size: 29.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.2

File hashes

Hashes for cellx-1.14.tar.gz
Algorithm Hash digest
SHA256 b43e4c18f3ccebe14204beacc6db57577523af2e119c0baf0262c30d9fba610b
MD5 1278eb35a49642c5a77d5a98e2dd3b27
BLAKE2b-256 a55282a874d75e51708e9eaf85dc74918815ef2aca63a0751fd6aeec07790067

See more details on using hashes here.

File details

Details for the file cellx-1.14-py3-none-any.whl.

File metadata

  • Download URL: cellx-1.14-py3-none-any.whl
  • Upload date:
  • Size: 51.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.2

File hashes

Hashes for cellx-1.14-py3-none-any.whl
Algorithm Hash digest
SHA256 59a6692f531b43ded2ac6cd281710b3373850114aa26cdc7958e98d989e53352
MD5 5fffc5a75c1dd8a902a2574d23451030
BLAKE2b-256 e978164fde0b7965e56db4e756e41a0100c78e55e3663089f492c58bf5350940

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page