Navigation

rational_b_spline_surface

EXPRESS specification:

ENTITY rational_b_spline_surface
SUBTYPE OF ( b_spline_surface);
weights_data  :  LIST [2:?] OF LIST [2:?] OF REAL;
DERIVE
weights  :  ARRAY [0:100] OF ARRAY [0:100] OF REAL :=  make_array_of_array
(weights_data, 0, u_upper, 0, v_upper);
WHERE
WRR6  :  (SIZEOF(weights_data) = SIZEOF(SELF\b_spline_surface.control_points_list)) AND (SIZEOF(weights_data[1]) = SIZEOF(SELF\b_spline_surface.control_points_list[1]));
WRR7  :  surface_weights_positive(SELF);
END_ENTITY;

References (1):

Name Type Referred through Express-G
b_spline_surface Entity
Subtype
No Diagram

Inheritance graph

ENTITY rational_b_spline_surface;
ENTITY representation_item;
name  :  label;
ENTITY geometric_representation_item;
DERIVE
dim  :  dimension_count :=  dimension_of(SELF);
ENTITY surface;
ENTITY bounded_surface;
ENTITY b_spline_surface;
u_degree  :  INTEGER;
v_degree  :  INTEGER;
control_points_list  :  LIST [2:?] OF LIST [2:?] OF cartesian_point;
surface_form  :  b_spline_surface_form;
u_closed  :  LOGICAL;
v_closed  :  LOGICAL;
self_intersect  :  LOGICAL;
DERIVE
u_upper  :  INTEGER :=  SIZEOF(control_points_list) - 1;
v_upper  :  INTEGER :=  SIZEOF(control_points_list[1]) - 1;
control_points  :  ARRAY [0:100] OF ARRAY [0:100] OF cartesian_point := 
make_array_of_array (control_points_list, 0, u_upper, 0, v_upper);
ENTITY rational_b_spline_surface;
weights_data  :  LIST [2:?] OF LIST [2:?] OF REAL;
DERIVE
weights  :  ARRAY [0:100] OF ARRAY [0:100] OF REAL :=  make_array_of_array
(weights_data, 0, u_upper, 0, v_upper);
END_ENTITY;