Exemple #1
0
t_node *add_brick_geo_array( t_context *C, const char *name , void *data)
{
	t_geo_array *array = (t_geo_array *) data;

	// NEW BLOCK
	t_node *node_block = add_block(C,name);
	t_block *block = ( t_block *) node_block->data;
	block->block_state.draw_outline = 1;

	// VECTOR
	C->ui->add_bricks = 0;
	add_part_vector( C, block, "vector");
	C->ui->add_bricks = 1;

	// TARGET
	t_node *node_target = add_part_slider_float( C, block, "target", NULL);
	t_brick *brick_target = ( t_brick *) node_target->data;
	brick_target->brick_state.is_versatil = 1;

	// COUNT
	add_part_slider_int( C, block, "count", &array->count);
	scene_add_ref( C->scene, "struct_ref", "geo_array", "count", &array->count, array);

	// GEO ARRAY
	add_part_geo( C, block, "array", data, dt_geo_array);

	return node_block;
}
Exemple #2
0
void viewport_add_controls( t_viewport *viewport)
{
	t_context *C = ctx_get();

	scene_add_ref(C->scene,"struct_ref","viewport","width",&viewport->width,viewport);
	scene_add_ref(C->scene,"struct_ref","viewport","height",&viewport->height,viewport);
	scene_add_ref(C->scene,"struct_ref","viewport","x",&viewport->x,viewport);
	scene_add_ref(C->scene,"struct_ref","viewport","y",&viewport->y,viewport);
	scene_add_ref(C->scene,"struct_ref","viewport","fullscreen",&viewport->fullscreen,viewport);
	scene_add_ref(C->scene,"struct_ref","viewport","show_outline",&viewport->show_outline,viewport);

	t_block *block = add_block_block( C, "viewport_controls");
	viewport->controls = block;

	set_draw_plug = 0;

	block->pos[0] = 0;
	block->pos[1] = 1;
	add_brick_slider_int( C, block, "width", &viewport->width,NULL);
	add_brick_slider_int( C, block, "height", &viewport->height,NULL);
	add_brick_slider_int( C, block, "x", &viewport->x,NULL);
	add_brick_slider_int( C, block, "y", &viewport->y,NULL);
	add_brick_switch( C, block, "fullscreen", &viewport->fullscreen, NULL);
	add_brick_switch( C, block, "outline", &viewport->show_outline, NULL);

	viewport_add_trigger( C, viewport, "A4", op_viewport_set_dimensions);
	viewport_add_trigger( C, viewport, "center", op_viewport_center);
	viewport_add_trigger( C, viewport, "full height", op_viewport_full_height);

	set_draw_plug = 1;
}
Exemple #3
0
t_node *add_part_vlst(t_context *C,t_block *block,t_data_type type,const char *name,void *ptr)
{
	t_node *node;

	node=add_brick_vlst(C,block,name,type,ptr);

	t_vlst *vlst = ( t_vlst *) ptr;

	scene_add_ref(C->scene,"struct_ref","vlst","count",&vlst->count_new,vlst);

	t_node *node_count=add_part_slider_int_positive(C,block,"count:",&vlst->count_new);
	t_brick *brick_count = ( t_brick *) node_count->data;

	brick_count->brick_state.use_loops = 0;
	brick_count->plug_intern.data_memory = NULL;
	brick_count->exe=op_set_vlst;
	brick_count->brick_state.singular=1;
	brick_count->brick_state.use_hold = 1;

	t_brick *brick = ( t_brick *) node->data;
	brick->brick_state.draw_outline=0;

	return node;
}
Exemple #4
0
t_node *add_slider_camera(t_context *C,const char *name)
{
	t_camera *camera = op_camera_get_current( C);
	t_node *node = NULL;

	if(camera)
	{
		if(is(name,"pos x"))
		{
			scene_add_ref(C->scene,"struct_ref","camera","pos_x",&camera->pos[0],camera);
			node = add_slider_float(C,"cam pos x",&camera->pos[0]);
		}
		else if(is(name,"pos y"))
		{
			scene_add_ref(C->scene,"struct_ref","camera","pos_y",&camera->pos[1],camera);
			node = add_slider_float(C,"cam pos y",&camera->pos[1]);
		}
		else if(is(name,"pos z"))
		{
			scene_add_ref(C->scene,"struct_ref","camera","pos_z",&camera->pos[2],camera);
			node = add_slider_float(C,"cam pos z",&camera->pos[2]);
		}
		else if(is(name,"eye x"))
		{
			scene_add_ref(C->scene,"struct_ref","camera","eye_x",&camera->eye[1],camera);
			node = add_slider_float(C,"cam eye x",&camera->eye[1]);
		}
		else if(is(name,"eye y"))
		{
			scene_add_ref(C->scene,"struct_ref","camera","eye_y",&camera->eye[2],camera);
			node = add_slider_float(C,"cam eye y",&camera->eye[2]);
		}
		else if(is(name,"eye z"))
		{
			scene_add_ref(C->scene,"struct_ref","camera","eye_z",&camera->eye[3],camera);
			node = add_slider_float(C,"cam eye z",&camera->eye[3]);
		}
	}

	return node;
}
Exemple #5
0
void add_slider_ref(t_context *C,t_object *object,const char *name)
{
	t_mesh *mesh=NULL;
	t_material *mat=NULL;
	
	if(object->mesh) mesh=object->mesh;
	if(mesh)
	{
		 if(mesh->material) mat=mesh->material;
	}

	if(is(name,"pos x")) 		scene_add_ref(C->scene,"struct_ref","object","loc_x",&object->loc[0],object);
	else if(is(name,"pos y"))	scene_add_ref(C->scene,"struct_ref","object","loc_y",&object->loc[1],object);
	else if(is(name,"pos z"))	scene_add_ref(C->scene,"struct_ref","object","loc_z",&object->loc[2],object);
	else if(is(name,"rot x"))	scene_add_ref(C->scene,"struct_ref","object","rot_x",&object->rot[0],object);
	else if(is(name,"rot y"))	scene_add_ref(C->scene,"struct_ref","object","rot_y",&object->rot[1],object);
	else if(is(name,"rot z"))	scene_add_ref(C->scene,"struct_ref","object","rot_z",&object->rot[2],object);
	else if(is(name,"scl x"))	scene_add_ref(C->scene,"struct_ref","object","scl_x",&object->size[0],object);
	else if(is(name,"scl y"))	scene_add_ref(C->scene,"struct_ref","object","scl_y",&object->size[1],object);
	else if(is(name,"scl z"))	scene_add_ref(C->scene,"struct_ref","object","scl_z",&object->size[2],object);
	else if(is(name,"red") && mat)	scene_add_ref(C->scene,"struct_ref","material","red",&mat->color[0],mat);
	else if(is(name,"green") && mat)	scene_add_ref(C->scene,"struct_ref","material","green",&mat->color[1],mat);
	else if(is(name,"blue") && mat)		scene_add_ref(C->scene,"struct_ref","material","blue",&mat->color[2],mat);
	else if(is(name,"alpha") && mat)	scene_add_ref(C->scene,"struct_ref","material","alpha",&mat->color[3],mat);
	else if(is(name,"quad face") && mesh)	scene_add_ref(C->scene,"struct_ref","mesh","quad_face",&mesh->quad_face,mesh);
	else if(is(name,"mesh") && mesh)	scene_add_ref(C->scene,"struct_ref","mesh","mesh",mesh,mesh);

}