### Section object

This section defines the objects in the scene.

section_object = { . object . name . name_object . attrib_std . model . { . defobject . } . }

name_object = ident

attrib_std = { [ attrobj_material | attrobj_toll | attrobj_texture | attrobj_mapping ] }

attrobj_toll = toll . number_real . ;

attrobj_texture = texture . ident . ;

attrobj_mapping = mapping . { mapping . model . { name_mapping . defmapping } . }

name_mapping = ident

defmapping = { [ attrmap_center | attrmap_assx | attrmap_assy | attrmap_moltx | attrmap_molty ] }

attrmap_center = center . point . ;

attrmap_assx = assx . vector . ;

attrmap_assy = assy . vector . ;

attrmap_moltx = moltx . number_real . ;

attrmap_molty = molty . number_real . ;

defobject = [ defobj_sphere | defobj_box | defobj_brep | defobj_quad | defobj_csg ]

defobj_brep = brep . { [ defbrep_name | defbrep_costr ] }

defbrep_name = name . ident . ;

defbrep_costr = costr . number_real . ;

defobj_sphere = sphere . { [ defsphere_center | defsphere_radius ] }

defsphere_center = center . point . ;

defsphere_radius = radius . number_real . ;

defobj_box = box . { [ defbox_xmin | defbox_xmax | defbox_ymin | defbox_ymax |

defbox_zmin | defbox_zmax] }

defbox_xmin = xmin . number_real . ;

defbox_xmax = xmax . number_real . ;

defbox_ymin = ymin . number_real . ;

defbox_ymax = ymax . number_real . ;

defbox_zmin = zmin . number_real . ;

defbox_zmax = zmax . number_real . ;

defobj_quad = quad . { [ defquad_a | defquad_b | defquad_c | defquad_d | defquad_e

| defquad_f | defquad_g | defquad_h | defquad_i | defquad_j ] }

defquad_a = a . number_real . ;

defquad_b = b . number_real . ;

defquad_c = c . number_real . ;

defquad_d = d . number_real . ;

defquad_e = e . number_real . ;

defquad_f = f . number_real . ;

defquad_g = g . number_real . ;

defquad_h = h . number_real . ;

defquad_i = i . number_real . ;

defquad_j = j . number_real . ;

defobj_csg = [ intersect | union | subtract ] . { [defcsg_first | defcsg_second ] }

defcsg_first = first section_object [ ; | ]

defcsg_second = second section_object [ ; | ]

section_object

definition of an object.

name_object

name of the object. It must be unique.

attrobj_toll

value of tollerance for the intersection with the object.

attrobj_texture

name of the texture. The texture must be preload in a previous section texture. The object can ignore this value.

attrobj_mapping

mapping of the object. The object can ignore this value.

name_mapping

type of the mapping. The standard values are planar, cilindric, spherical.

defmapping

mapping characteristic, it define a reference system in the space.

attrmap_center

center of the reference system for mapping.

attrmap_assx

versor parallel to the x axis of the reference system of the mapping.

attrmap_assy

versor parallel to the y axis of the reference system of the mapping.

attrmap_moltx

scale factor for x axis of the mapping reference system.

attrmap_molty

scale factor for y axis of the mapping reference system.

defobject

definition of the object model.

defobj_brep

definition of a brep model.

defbrep_name

name of the file .brp which describes the geometric model of the object. The file .brp will have name defbrep_name + ".brp" and will be in the directory where are all the models.

defbrep_costr

value for the hierarchy of the object. If the value is equal to zero, no hierarchy will be used. Se the value is different from zero and a previus hierarchy of the object already exist, this will be used ( also if it has been created with a different value). If the hierarchy doesn' t exist, the program will create a new with compactness value equal to the value.

defobj_sphere

definition of a sphere.

defsphere_center

definition of the sphere center.

defsphere_radius

definition of the sphere ray.

defobj_box

definition of a box.

defbox_xmin

defbox_xmax

defbox_ymin

defbox_ymax

defbox_zmin

defbox_zmax

extreme values of a box oriented to the axes .

defobj_quad

definition of a quadric.

defquad_a

defquad_b

defquad_c

defquad_d

defquad_e

defquad_f

defquad_g

defquad_h

defquad_i

defquad_j

definition of the form of the quadric. The equation is

A*x^2+B*y^2+C*z^2+D*x*y+E*x*z+F*y*z+G*x+H*y+I*z+J=0

defobj_csg

definition of a csg node.

defcsg_first

first object which is in the csg node.

defcsg_second

second object which is in the csg node.

Example of a file .rt :

{ vrc

vrp ( 63.7424 , -77.0513 , 0 );

prp ( 0 , 0 , -100 );

vup ( 0 , 0 , 1 );

vpn ( -0.637424 , 0.770513 , 0 );

umax 6;

umin -6;

vmax 4.5;

vmin -4.5;

type 1;

f 1;

b 0;

fon 0;

bon 0;

}

{ param

toll 0.01;

mode 5;

shade phong;

anti_alias 1;

anti_al_toll 0.05;

dimx 1024;

dimy 768;

ambientcolor (1,1,1);

backcolor (0,0,0);

ambient_ni 1;

buildhier 1;

modifydef 1;

depthmax 64;

depthmin 48;

depthback 64;

}

{ texture

name wood ;

}

{ material

name mvetro;

model { phong

Ks 0.6;

Kt 0.8;

ni 1.2;

Ka 0.0;

Kd 0.4;

n 10;

Od (0.24,0.19,0.88);

Os (0.24,0.19,0.88);

}

}

{lamp

name lamp1;

model { pointlamp

pos ( 5 , 0 , 3 );

color (0.7,0.7,0.7);

}

}

{object

name watch1;

material mvetro;

toll 0.01;

model { brep

name watch1;

costr 1.1;

}

}

{object

name sph3;

material m3;

texture marple;

mapping { mapping

model { spherical

center ( 10 , 2 , 0 );

assx ( 1 , 0 , 0 );

assy ( 0 , 1 , 0 );

moltx 0.1;

molty 0.1;

}

}

toll 0.01;

model { sphere

center ( 10 , 2 , 0 );

radius 0.95;

}

}

{ object

name tcsg;

material m1;

model { intersect

first {object

name sph1;

material m1;

model { sphere

center ( 5 , 0.5 , 0 );

radius 0.95;

}

};

second {object

name sph1;

material m1;

model { sphere

center ( 5 , -0.5 , 0 );

radius 0.95;

}

};

}

}

{object

name box1;

material m1;

model { box

xmin 10;

xmax 12;

ymin -1;

ymax 1;

zmin -1;

zmax 1;

}

}

{object

name sph1;

material m1;

model { quad

a 10;

b -1;

c 2;

d 0;

e 0;

f 0;

g 0;

h 0;

i 0;

j -1;

}

}

.