void Plane::Translate(const VECTOR Vector, const TRANSFORM *tr) { VECTOR Translation; if(Trans == NULL) { VEvaluate (Translation, Normal_Vector, Vector); Distance -= Translation[X] + Translation[Y] + Translation[Z]; Compute_BBox(); } else { Transform(tr); } }
static void Scale_Bicubic_Patch(OBJECT *Object, VECTOR Vector, TRANSFORM *) { int i, j; BICUBIC_PATCH *Patch = (BICUBIC_PATCH *) Object; for (i = 0; i < 4; i++) { for (j = 0; j < 4; j++) { VEvaluate(Patch->Control_Points[i][j], Patch->Control_Points[i][j], Vector); } } Precompute_Patch_Values(Patch); Compute_Bicubic_Patch_BBox(Patch); }
static void Translate_Plane (OBJECT *Object, VECTOR Vector, TRANSFORM *Trans) { VECTOR Translation; PLANE *Plane = (PLANE *)Object; if (Plane->Trans == NULL) { VEvaluate (Translation, ((PLANE *)Object)->Normal_Vector, Vector); ((PLANE *)Object)->Distance -= Translation[X] + Translation[Y] + Translation[Z]; Compute_Plane_BBox((PLANE *)Object); } else { Transform_Plane(Object, Trans); } }