Navigation

b_spline_surface_with_knots

EXPRESS specification:

ENTITY b_spline_surface_with_knots
SUBTYPE OF ( b_spline_surface);
u_multiplicities  :  LIST [2:?] OF INTEGER;
v_multiplicities  :  LIST [2:?] OF INTEGER;
u_knots  :  LIST [2:?] OF parameter_value;
v_knots  :  LIST [2:?] OF parameter_value;
knot_spec  :  knot_type;
DERIVE
knot_u_upper  :  INTEGER :=  SIZEOF(u_knots);
knot_v_upper  :  INTEGER :=  SIZEOF(v_knots);
WHERE
WRB5  :  constraints_param_b_spline(SELF\b_spline_surface.u_degree, knot_u_upper, SELF\b_spline_surface.u_upper, u_multiplicities, u_knots);
WRB6  :  constraints_param_b_spline(SELF\b_spline_surface.v_degree, knot_v_upper, SELF\b_spline_surface.v_upper, v_multiplicities, v_knots);
WRB7  :  SIZEOF(u_multiplicities) = knot_u_upper;
WRB8  :  SIZEOF(v_multiplicities) = knot_v_upper;
END_ENTITY;

References (1):

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

Inheritance graph

ENTITY b_spline_surface_with_knots;
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 b_spline_surface_with_knots;
u_multiplicities  :  LIST [2:?] OF INTEGER;
v_multiplicities  :  LIST [2:?] OF INTEGER;
u_knots  :  LIST [2:?] OF parameter_value;
v_knots  :  LIST [2:?] OF parameter_value;
knot_spec  :  knot_type;
DERIVE
knot_u_upper  :  INTEGER :=  SIZEOF(u_knots);
knot_v_upper  :  INTEGER :=  SIZEOF(v_knots);
END_ENTITY;