static inline void test_check_buffer_initialized(void) { struct tp req; tp_init(&req, NULL, 0, tp_realloc, NULL); tp_select(&req, 0, 0, 0, 0); /* could fail on assert */ tp_tuple(&req); tp_sz(&req, "key"); tp_free(&req); }
double tp_getspecular(obj_t *obj) { plane_t *plnPtr = (plane_t *)obj->typeData; tplane_t *tp = (tplane_t *)plnPtr->priv; if (tp_select(obj)) return obj->sceneData->specular; else return tp->bkgrndspec; }
double tp_getdiffuse(obj_t *obj) { plane_t *plnPtr = (plane_t *)obj->typeData; tplane_t *tp = (tplane_t *)plnPtr->priv; if (tp_select(obj)) return obj->sceneData->diffuse; else return tp->bkgrnddiff; }
triple_t tp_getcolor(obj_t *obj) { plane_t *plnPtr = (plane_t *)obj->typeData; tplane_t *tp = (tplane_t *)plnPtr->priv; if (tp_select(obj)) return obj->sceneData->color; else return tp->bkgrndcolor; }
static inline int test_check_read(void) { int fd; struct sockaddr_in tt; if ((fd = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0) { printf("Failed to create socket\n"); return 1; } memset(&tt, 0, sizeof(tt)); tt.sin_family = AF_INET; tt.sin_addr.s_addr = inet_addr("127.0.0.1"); tt.sin_port = htons(33013); if (connect(fd, (struct sockaddr *) &tt, sizeof(tt)) < 0) { printf("Failed to connect\n"); return 1; } struct tp req; tp_init(&req, NULL, 0, tp_realloc, NULL); tp_insert(&req, 0, 0); tp_tuple(&req); tp_sz(&req, "_i32"); tp_sz(&req, "0e72ae1a-d0be-4e49-aeb9-aebea074363c"); tp_select(&req, 0, 0, 0, 1); tp_tuple(&req); tp_sz(&req, "_i32"); int rc = write(fd, tp_buf(&req), tp_used(&req)); if (rc != tp_used(&req)) return 1; tp_free(&req); rc = test_check_read_reply(fd); if (rc != 0) return 1; rc = test_check_read_reply(fd); if (rc != 0) return 1; close(fd); return 0; }
/** * Retrieve specular values for the last hitpoint * * PARAMETERS: * obj - tplane object * value - intensity vector */ void tp_spec(obj_t *obj, double *value) { #ifdef DEBUG_TPLANE fprintf(stderr, "tp_spec\n"); #endif plane_t *pln = (plane_t *)obj->priv; tplane_t *tp = (tplane_t *)pln->priv; material_t *mat; if (tp_select(obj)) { mat = &obj->material; } else { mat = &tp->background; } *(value + 0) = mat->specular[0]; *(value + 1) = mat->specular[1]; *(value + 2) = mat->specular[2]; }