Types

All types inherited directly from "type" are data types. Others are for informational purposes and not used in coding tags.

Entity class tree

root_type

Attribute list: Bach version:
{
	children: ["string", "int", "float", "list", "map"],
	id: "root_type",
	objtype: "meta",
	parents: ["root"],
	summary: "Type hierarchy starts from here."
}

    

string

Attribute list: Bach version:
{
	children: ["uri", "objtype", "specification", "name", "message", "html", "password", "time_string", "e_string"],
	description: "Any character is allowed, including 8 bit control characters and '\\0', C equivalent: {int len; char *data;}, C++: string",
	id: "string",
	objtype: "data_type",
	parents: ["root_type"],
	summary: "UTF-8 encoded string."
}

    

uri

Attribute list: Bach version:
{
	children: ["id", "filename", "e_uri"],
	description: "C equivalent roughly: for storing id name: char *, as pointer: void *<br>
URI is Uniform Resource Locator.
For more about URI see 
<a href=\"http://www.ics.uci.edu/pub/ietf/uri/\">http://www.ics.uci.edu/pub/ietf/uri/</a>",
	id: "uri",
	objtype: "type",
	parents: ["string"],
	summary: "URI (URL) of object"
}

    

id

Attribute list: Bach version:
{
	children: ["element_type", "interface", "loc", "refid", "from", "to", "root_object"],
	description: "C equivalent roughly: for storing id name: char *, as pointer: void *",
	id: "id",
	parents: ["uri"],
	summary: "Id of object"
}

    

element_type

Attribute list: Bach version:
{
	children: [],
	id: "element_type",
	parents: ["id"],
	summary: "Element type for typed lists/mappings"
}

    

interface

Attribute list: Bach version:
{
	children: [],
	id: "interface",
	parents: ["id"],
	summary: "What kind of operations are legal for this object."
}

    

loc

Attribute list: Bach version:
{
	children: [],
	id: "loc",
	name: "location",
	objtype: "type",
	parents: ["id"],
	summary: "Reference object for coordinates (location)."
}

    

refid

Attribute list: Bach version:
{
	children: [],
	id: "refid",
	parents: ["id"],
	summary: "Reference to id"
}

    

from

Attribute list: Bach version:
{
	children: [],
	id: "from",
	parents: ["id"],
	summary: "Source of message/operation."
}

    

to

Attribute list: Bach version:
{
	children: [],
	description: "When client sends operation to it's character
    in server, then you can omit this because server can assume
    character can only control directly it's body.",
	id: "to",
	parents: ["id"],
	summary: "Target of message/operation."
}

    

root_object

Attribute list: Bach version:
{
	children: [],
	description: "This usually has value \"root\", but can also have something like: \"world45/root\"
    or even \"atlas://other.server.org/world5/root\"",
	id: "root_object",
	parents: ["id"],
	summary: "Id of root object"
}

    

filename

Attribute list: Bach version:
{
	children: [],
	id: "filename",
	parents: ["uri"],
	summary: "name of file (example: where object was specified)"
}

    

e_uri

Attribute list: Bach version:
{
	children: [],
	id: "e_uri",
	parents: ["uri"],
	summary: "Root type for all uri type example attributes"
}

    

objtype

Attribute list: Bach version:
{
	children: [],
	description: "Examples of values: \"op\", \"class\", \"type\".",
	id: "objtype",
	name: "object type",
	objtype: "type",
	parents: ["string"],
	summary: "What kind of object this is."
}

    

specification

Attribute list: Bach version:
{
	children: [],
	id: "specification",
	objtype: "type",
	parents: ["string"],
	summary: "What specification this object is part of?"
}

    

name

Attribute list: Bach version:
{
	children: [],
	id: "name",
	objtype: "type",
	parents: ["string"],
	summary: "Name of object."
}

    

message

Attribute list: Bach version:
{
	children: ["say", "text"],
	id: "message",
	objtype: "type",
	parents: ["string"],
	summary: "Some message (for example error message)"
}

    

say

Attribute list: Bach version:
{
	children: [],
	id: "say",
	parents: ["message"],
	summary: "What something has said."
}

    

text

Attribute list: Bach version:
{
	children: [],
	description: "Text of objects like signs, posters, books, chess board letters, etc..: these are meant to be displayed as text in screen",
	id: "text",
	parents: ["message"],
	summary: "Text of textual object"
}

    

html

Attribute list: Bach version:
{
	children: ["summary"],
	id: "html",
	objtype: "type",
	parents: ["string"],
	summary: "String that is actually html."
}

    

summary

Attribute list: Bach version:
{
	children: ["description"],
	id: "summary",
	parents: ["html"],
	summary: "This gives short description of object, usually about 1 line."
}

    

description

Attribute list: Bach version:
{
	children: ["arg_description"],
	id: "description",
	parents: ["summary"],
	summary: "This gives long description of object: few lines to few pages"
}

    

arg_description

Attribute list: Bach version:
{
	children: [],
	id: "arg_description",
	parents: ["description"],
	summary: "This gives description about arguments."
}

    

password

Attribute list: Bach version:
{
	children: [],
	id: "password",
	objtype: "type",
	parents: ["string"],
	summary: "Password for account usually"
}

    

time_string

Attribute list: Bach version:
{
	children: [],
	description: "There can be variation in length of different fields if using some weird calendar",
	id: "time_string",
	objtype: "type",
	parents: ["string"],
	summary: "Time in string format: YYYY-MM-DD HH:MM:SS.ss"
}

    

e_string

Attribute list: Bach version:
{
	children: ["e_msg", "e_smell", "e_surface_type", "e_bar", "e_sex"],
	id: "e_string",
	objtype: "type",
	parents: ["string"],
	summary: "Root type for all string type example attributes"
}

    

e_msg

Attribute list: Bach version:
{
	children: [],
	id: "e_msg",
	parents: ["e_string"]
}

    

e_smell

Attribute list: Bach version:
{
	children: [],
	id: "e_smell",
	parents: ["e_string"]
}

    

e_surface_type

Attribute list: Bach version:
{
	children: [],
	id: "e_surface_type",
	parents: ["e_string"]
}

    

e_bar

Attribute list: Bach version:
{
	children: [],
	id: "e_bar",
	parents: ["e_string"]
}

    

e_sex

Attribute list: Bach version:
{
	children: [],
	id: "e_sex",
	parents: ["e_string"]
}

    

int

Attribute list: Bach version:
{
	children: ["bool", "list_length", "serialno", "no", "e_int"],
	description: "C equivalent: 32bit int",
	id: "int",
	objtype: "data_type",
	parents: ["root_type"],
	summary: "Integer."
}

    

bool

Attribute list: Bach version:
{
	children: ["detailed_contents"],
	id: "bool",
	objtype: "meta",
	parents: ["int"],
	summary: "Yes/No values (encoded as 1/0)"
}

    

detailed_contents

Attribute list: Bach version:
{
	children: [],
	id: "detailed_contents",
	objtype: "type",
	parents: ["bool"],
	summary: "true if contents gives more details than this object"
}

    

list_length

Attribute list: Bach version:
{
	children: [],
	id: "list_length",
	objtype: "type",
	parents: ["int"],
	summary: "Length for lists"
}

    

serialno

Attribute list: Bach version:
{
	children: ["refno", "lineno"],
	id: "serialno",
	objtype: "type",
	parents: ["int"],
	summary: "Serial number."
}

    

refno

Attribute list: Bach version:
{
	children: [],
	id: "refno",
	parents: ["serialno"],
	summary: "Reference to serial number."
}

    

lineno

Attribute list: Bach version:
{
	children: [],
	id: "lineno",
	parents: ["serialno"],
	summary: "linenumber where something is"
}

    

no

Attribute list: Bach version:
{
	children: [],
	id: "no",
	parents: ["int"],
	summary: "Number (for example error number)."
}

    

e_int

Attribute list: Bach version:
{
	children: ["e_HP", "e_attack", "e_amount"],
	id: "e_int",
	objtype: "type",
	parents: ["int"],
	summary: "Root type for all int type example attributes"
}

    

e_HP

Attribute list: Bach version:
{
	children: [],
	id: "e_HP",
	parents: ["e_int"]
}

    

e_attack

Attribute list: Bach version:
{
	children: [],
	id: "e_attack",
	parents: ["e_int"]
}

    

e_amount

Attribute list: Bach version:
{
	children: [],
	id: "e_amount",
	parents: ["e_int"]
}

    

float

Attribute list: Bach version:
{
	children: ["stamp", "seconds", "e_float"],
	description: "C equivalent roughly: double",
	id: "float",
	objtype: "data_type",
	parents: ["root_type"],
	summary: "Floating point number."
}

    

stamp

Attribute list: Bach version:
{
	children: ["stamp_inherit", "stamp_contains"],
	description: "Value should be reflect when something was
    changed in this object. Any scheme is ok as long as newer numbers
    are bigger than older stamps. For example, seconds since Jan 1st,
    1970 or total game cycles would both be valid.",
	id: "stamp",
	objtype: "type",
	parents: ["float"],
	summary: "Last time this object was modified."
}

    

stamp_inherit

Attribute list: Bach version:
{
	children: [],
	description: "Value should be reflect when something was changed in some object that inherits from this.",
	id: "stamp_inherit",
	objtype: "type",
	parents: ["stamp"],
	summary: "Last time any object that inherits from this has been modified"
}

    

stamp_contains

Attribute list: Bach version:
{
	children: [],
	description: "Value should be reflect when something was changed in some object that is contained by this object.",
	id: "stamp_contains",
	objtype: "type",
	parents: ["stamp"],
	summary: "Last time any object that uses this as reference recursively has been modified"
}

    

seconds

Attribute list: Bach version:
{
	children: ["future_seconds"],
	id: "seconds",
	objtype: "type",
	parents: ["float"],
	summary: "Time in seconds"
}

    

future_seconds

Attribute list: Bach version:
{
	children: [],
	id: "future_seconds",
	parents: ["seconds"],
	summary: "Time in seconds to add current time"
}

    

e_float

Attribute list: Bach version:
{
	children: ["e_height", "e_width", "e_drunkness", "e_status"],
	id: "e_float",
	objtype: "type",
	parents: ["float"],
	summary: "Root type for all float type example attributes"
}

    

e_height

Attribute list: Bach version:
{
	children: [],
	id: "e_height",
	parents: ["e_float"]
}

    

e_width

Attribute list: Bach version:
{
	children: [],
	id: "e_width",
	parents: ["e_float"]
}

    

e_drunkness

Attribute list: Bach version:
{
	children: [],
	id: "e_drunkness",
	parents: ["e_float"]
}

    

e_status

Attribute list: Bach version:
{
	children: [],
	id: "e_status",
	parents: ["e_float"]
}

    

list

Attribute list: Bach version:
{
	added_attributes: [],
	children: ["string_list", "int_list", "float_list", "rotation", "args_source", "args_destination", "arg_names", "example", "triangle_list", "tetrahedron_list", "glue_ids", "pos_list", "e_list"],
	description: "C equivalent: void *[]",
	id: "list",
	objtype: "data_type",
	parents: ["root_type"],
	summary: "List of objects"
}

    

string_list

Attribute list: Bach version:
{
	children: ["uri_list"],
	element_type: "string",
	id: "string_list",
	objtype: "type",
	parents: ["list"],
	summary: "List of strings"
}

    

uri_list

Attribute list: Bach version:
{
	children: ["id_list"],
	description: "C equivalent: char *[], void *[]",
	element_type: "uri",
	id: "uri_list",
	parents: ["string_list"],
	summary: "URI list"
}

    

id_list

Attribute list: Bach version:
{
	children: ["parents", "children", "contains", "operations", "coord_id_list", "glue", "media_roots", "attribute_order"],
	id: "id_list",
	parents: ["uri_list"],
	summary: "List of ids"
}

    

parents

Attribute list: Bach version:
{
	children: [],
	id: "parents",
	parents: ["id_list"],
	summary: "List of objects this inherits attributes from."
}

    

children

Attribute list: Bach version:
{
	children: [],
	id: "children",
	parents: ["id_list"],
	summary: "List of objects that inherit from this object."
}

    

contains

Attribute list: Bach version:
{
	children: ["added_attributes", "characters"],
	id: "contains",
	parents: ["id_list"],
	summary: "List of objects that use this object as reference system (usually same as what this object contains)."
}

    

added_attributes

Attribute list: Bach version:
{
	children: [],
	id: "added_attributes",
	parents: ["contains"],
	summary: "List of attributes that has been added to this object"
}

    

characters

Attribute list: Bach version:
{
	children: [],
	id: "characters",
	parents: ["contains"],
	summary: "List of characters account can control"
}

    

operations

Attribute list: Bach version:
{
	children: [],
	description: "Content ids can be either another interface or operation ids or both.",
	id: "operations",
	parents: ["id_list"],
	summary: "List of alloved operations"
}

    

coord_id_list

Attribute list: Bach version:
{
	children: ["coord_id_list_length", "polyline"],
	id: "coord_id_list",
	parents: ["id_list"],
	summary: "Pointer to coordinates"
}

    

coord_id_list_length

Attribute list: Bach version:
{
	children: ["triangle", "tetrahedron"],
	id: "coord_id_list_length",
	list_length: 0,
	parents: ["coord_id_list"],
	summary: "Fixed length coordinate pointer list"
}

    

triangle

Attribute list: Bach version:
{
	children: [],
	id: "triangle",
	list_length: 3,
	parents: ["coord_id_list_length"],
	summary: "Pointers to triangle points"
}

    

tetrahedron

Attribute list: Bach version:
{
	children: [],
	id: "tetrahedron",
	list_length: 4,
	parents: ["coord_id_list_length"],
	summary: "Pointers to tetrahedron points"
}

    

polyline

Attribute list: Bach version:
{
	children: [],
	description: "see maps/semantic_maps.pdf for more info.",
	id: "polyline",
	parents: ["coord_id_list"],
	summary: "Ids of points that polyline consists of"
}

    

glue

Attribute list: Bach version:
{
	children: [],
	description: "**not written yet**",
	id: "glue",
	parents: ["id_list"],
	summary: "Ids of glue objects that glue this to other objects"
}

    

media_roots

Attribute list: Bach version:
{
	children: [],
	description: "List ids of root_media_info: can be on same server or at different server:
    see root_object attribute definition for more info",
	id: "media_roots",
	parents: ["id_list"],
	summary: "List of media servers basically"
}

    

attribute_order

Attribute list: Bach version:
{
	children: [],
	id: "attribute_order",
	parents: ["id_list"],
	summary: "order attributes was specified"
}

    

int_list

Attribute list: Bach version:
{
	children: ["int_list_length"],
	description: "C equivalent: int []",
	element_type: "int",
	id: "int_list",
	objtype: "type",
	parents: ["list"],
	summary: "List of integers"
}

    

int_list_length

Attribute list: Bach version:
{
	children: [],
	description: "Inherit required object from this and set length attribute to suitable value.",
	id: "int_list_length",
	list_length: 0,
	objtype: "meta",
	parents: ["int_list"],
	summary: "List of ints with constant length"
}

    

float_list

Attribute list: Bach version:
{
	children: ["float_list_length"],
	description: "C equivalent: double []",
	element_type: "float",
	id: "float_list",
	objtype: "type",
	parents: ["list"],
	summary: "List of floats"
}

    

float_list_length

Attribute list: Bach version:
{
	children: ["float_list3"],
	description: "Inherit required object from this and set length attribute to suitable value.",
	id: "float_list_length",
	list_length: 0,
	objtype: "meta",
	parents: ["float_list"],
	summary: "List of floats with constant length"
}

    

float_list3

Attribute list: Bach version:
{
	children: ["pos", "velocity"],
	description: "Used in 3D world for various things",
	id: "float_list3",
	list_length: 3,
	parents: ["float_list_length"],
	summary: "Float list with length of 3"
}

    

pos

Attribute list: Bach version:
{
	children: [],
	id: "pos",
	name: "position",
	objtype: "type",
	parents: ["float_list3"],
	summary: "Position coordinates, usually world is 3D"
}

    

velocity

Attribute list: Bach version:
{
	children: [],
	id: "velocity",
	list_length: 3,
	objtype: "type",
	parents: ["float_list3"],
	summary: "Velocity object is moving, usually world is 3D"
}

    

rotation

Attribute list: Bach version:
{
	children: [],
	description: "From forge/libs/wfmath/wfmath/rotmatrix.h:
Elements of this class represent rotation matrices. The NxN dimensional
rotation matrices form a group called O(N), the orthogonal
matrices. They satisfy the following condition:
<p>
A general N dimensional matrix of this type has N(N-1)/2 degrees of freedom.
This gives one rotation angle in 2D, the three Euler angles in 3D, etc.
",
	element_type: "float_list3",
	id: "rotation",
	list_length: 3,
	objtype: "type",
	parents: ["list"],
	summary: "Rotation matrix in 3D world"
}

    

args_source

Attribute list: Bach version:
{
	children: [],
	id: "args_source",
	objtype: "type",
	parents: ["list"],
	summary: "List of source arguments (for combine and similar operations)"
}

    

args_destination

Attribute list: Bach version:
{
	children: [],
	id: "args_destination",
	objtype: "type",
	parents: ["list"],
	summary: "List of destination arguments (for divide and similar operations)"
}

    

arg_names

Attribute list: Bach version:
{
	children: [],
	id: "arg_names",
	objtype: "type",
	parents: ["list"],
	summary: "List argument attribute names"
}

    

example

Attribute list: Bach version:
{
	children: [],
	id: "example",
	objtype: "type",
	parents: ["list"],
	summary: "Gives some examples usage"
}

    

triangle_list

Attribute list: Bach version:
{
	children: ["area"],
	element_type: "triangle",
	id: "triangle_list",
	objtype: "type",
	parents: ["list"],
	summary: "List of triangles"
}

    

area

Attribute list: Bach version:
{
	children: [],
	description: "see maps/semantic_maps.pdf for more info.",
	id: "area",
	parents: ["triangle_list"],
	summary: "triangles area consist of"
}

    

tetrahedron_list

Attribute list: Bach version:
{
	children: ["volume"],
	element_type: "tetrahedron",
	id: "tetrahedron_list",
	objtype: "type",
	parents: ["list"],
	summary: "List of tetrahedrons"
}

    

volume

Attribute list: Bach version:
{
	children: [],
	description: "see maps/semantic_maps.pdf for more info.",
	id: "volume",
	parents: ["tetrahedron_list"],
	summary: "tetrahedrons volume consist of"
}

    

glue_ids

Attribute list: Bach version:
{
	children: [],
	description: "See glue_geometry for more info",
	id: "glue_ids",
	parents: ["list"],
	summary: "List ids that glue objects together"
}

    

pos_list

Attribute list: Bach version:
{
	children: ["p"],
	element_type: "pos",
	id: "pos_list",
	objtype: "type",
	parents: ["list"],
	summary: "list of coordinates"
}

    

p

Attribute list: Bach version:
{
	children: [],
	id: "p",
	parents: ["pos_list"]
}

    

e_list

Attribute list: Bach version:
{
	children: [],
	id: "e_list",
	objtype: "type",
	parents: ["list"],
	summary: "Root type for all list type example attributes"
}

    

map

Attribute list: Bach version:
{
	added_attributes: [],
	children: ["arg", "op", "specification_file"],
	description: "C equivalent: struct map {char *;void *}; map*",
	id: "map",
	name: "mapping",
	objtype: "data_type",
	parents: ["root_type"],
	summary: "Mapping between string key and value object"
}

    

arg

Attribute list: Bach version:
{
	children: [],
	id: "arg",
	objtype: "type",
	parents: ["map"],
	summary: "Argument for operation"
}

    

op

Attribute list: Bach version:
{
	children: [],
	id: "op",
	objtype: "type",
	parents: ["map"],
	summary: "Opertion that caused error as argument to error operation"
}

    

specification_file

Attribute list: Bach version:
{
	children: [],
	id: "specification_file",
	objtype: "type",
	parents: ["map"],
	summary: "various info about object and its specification file"
}

    

Aloril
Last modified: Sat Nov 13 15:46:56 EET 1999