% % % BIF Verb file % % Light sourced Bezier trimmed surfaces % % Data provided by Lockheed EDG program % % % CONFIGURATION SINGLE_BUFFER; SPECIFY_REPORT_FILE "nurb.brf" ; %******************************************% % redefine the projection point, front and back clipping planes % VIEW_ORIENTATION3 41 % view orientation matrix % 0.0 0.0 0.0 % view reference point % 0.0 0.0 1.0 % view plane normal % 0.0 1.0 0.0 ; % view up vector % VIEW_MAPPING3 42 % view mapping matrix % -5.0 5.0 -5.0 5.0 % x min x max y min y max % PERSPECTIVE 0.0 0.0 30.0 % projection point(x*6.0) % 7.0 % front clipping plane % -7.0 % back clipping plane % MATCH_VIEW_AREA {0.0 1.0 0.0 1.0 GROW} ; % Set up DEFINE view (view table entry 1) % DEFINE_VIEW_SPECIFICATION 40 % id_view_spec % 41 % id_view_orientation % 42 % id_view_mapping % XY_CLIP FRONT_CLIP BACK_CLIP 0.0 1.0 % X extrema of view area % 0.0 1.0 ; % Y extrema of view area % %******************************************% BACKGROUND_COLOR 0.1 0.3 0.1; ACTIVE_VIEW 40; READ_GEOMETRY_FILE "nurb_extr.bif" ; BEGIN_TEST 1 ; CHAR_HEIGHT 0.75; TEXT_ALIGN 2 0; CHAR_EXP 0.9; TEXT_PREC STROKE; TEXT_COLOR 1 1 0; TEXT 0 2.0 "Trimmed Bezier Surface Benchmark"; TEXT_COLOR 1 1 1; TEXT 0 0.0 "Data Courtesy of"; TEXT 0 -1.0 "Lockheed Corporation"; END_TEST; READ_GEOMETRY_FILE "nurb_comp.bif" ; INTERIOR_COLOR 1.0 1.0 1.0; INTERIOR_STYLE SOLID; INTERIOR_SHADING 2; % gouraud shading % INTERIOR_LIGHTING 4; % ambient + diffuse + specular % HLHS_REMOVAL HLHS_ENABLE ; % activate hidden surface removal% BACKFACE_PROCESSING 1 1 ; % backface polygons culled % DEFINE_LIGHT 1 .2 .2 .2 AMBIENT_LIGHT ; DEFINE_LIGHT 2 0.8 0.7 0.5 DIRECTIONAL_LIGHT { -1.0 -1.0 -1.0 } ; DEFINE_LIGHT 3 0.3 0.3 0.9 DIRECTIONAL_LIGHT { 1.0 1.0 -1.0 } ; LIGHT_STATE ACTIVATE_LIST { 1 2 3} DEACTIVATE_LIST { } ; SURFACE_PROPERTIES 0.6 % ambient % 0.8 % diffuse % 0.5 % specular % 1.0 1.0 1.0 % specular color % 5.0 % specular power % 1 % transparency % ; SURFACE_APPROXIMATION_CRITERIA 2 0.025 0.025; ROTATE_XYZ3 1 0 0 90 REPLACE; SCALE3 1 .25 .25 .25 POSTCONCAT; TRANSLATE3 1 3 -2 0 POSTCONCAT ; ROTATE_XYZ3 2 0 0 90 REPLACE; SCALE3 2 .25 .25 .25 POSTCONCAT; TRANSLATE3 2 3 -2 0 POSTCONCAT ; ROTATE_XYZ3 2 -60 0 0 POSTCONCAT; ROTATE_XYZ3 2 0 30 0 POSTCONCAT; TRANSLATE3 3 -2.9409 -27.49 -4.0 REPLACE ; ROTATE_XYZ3 3 0 0 210 POSTCONCAT; ROTATE_XYZ3 3 -60 0 0 POSTCONCAT; TRANSLATE3 4 -2.9409 -27.49 -4.0 REPLACE ; ROTATE_XYZ3 4 0 0 210 POSTCONCAT; ROTATE_XYZ3 4 -60 0 0 POSTCONCAT; SCALE3 4 2 2 2 POSTCONCAT; TRANSLATE3 5 -2.9409 -27.49 -4.0 REPLACE ; ROTATE_XYZ3 5 0 0 210 POSTCONCAT; ROTATE_XYZ3 5 -60 0 0 POSTCONCAT; SCALE3 5 4 4 4 POSTCONCAT; TRANSLATE3 6 -2.918 -21.5068 -2.4256 REPLACE ; ROTATE_XYZ3 6 -45 0 0 POSTCONCAT; TRANSLATE3 7 -2.918 -21.5068 -2.4256 REPLACE ; ROTATE_XYZ3 7 -45 0 0 POSTCONCAT; SCALE3 7 2 2 2 POSTCONCAT; TRANSLATE3 8 -2.918 -21.5068 -2.4256 REPLACE ; ROTATE_XYZ3 8 -45 0 0 POSTCONCAT; SCALE3 8 4 4 4 POSTCONCAT; TRANSLATE3 9 -2.918 -21.5068 -2.4256 REPLACE ; ROTATE_XYZ3 9 -45 0 0 POSTCONCAT; SCALE3 9 4 4 4 POSTCONCAT; ROTATE_XYZ3 9 -30 0 0 POSTCONCAT; ROTATE_XYZ3 9 0 15 0 POSTCONCAT; SCALE3 10 1 1 1 REPLACE; SCALE3 11 2 2 2 REPLACE; ROTATE_XYZ3 12 -45 0 0 REPLACE; ROTATE_XYZ3 13 -45 0 0 REPLACE; SCALE3 13 2 2 2 POSTCONCAT; ROTATE_XYZ3 14 -45 0 0 REPLACE; ROTATE_XYZ3 14 0 0 -45 POSTCONCAT; ROTATE_XYZ3 15 -45 0 0 REPLACE; ROTATE_XYZ3 15 0 0 -45 POSTCONCAT; SCALE3 15 2 2 2 POSTCONCAT; TRANSLATE3 16 0.4198 0.473 -3.2291 REPLACE ; ROTATE_XYZ3 16 -60 0 0 POSTCONCAT; TRANSLATE3 17 0.4198 0.473 -3.2291 REPLACE ; ROTATE_XYZ3 17 -60 0 0 POSTCONCAT; SCALE3 17 2 2 2 POSTCONCAT; TRANSLATE3 18 -0.2249 -2.3493 -3.65 REPLACE ; ROTATE_XYZ3 18 0 0 -175 POSTCONCAT; ROTATE_XYZ3 18 -75 0 0 POSTCONCAT; TRANSLATE3 19 -0.2249 -2.3493 -3.65 REPLACE ; ROTATE_XYZ3 19 0 0 -175 POSTCONCAT; ROTATE_XYZ3 19 -75 0 0 POSTCONCAT; SCALE3 19 2 2 2 POSTCONCAT; TRANSLATE3 20 -4.1 -0.5433 -1.3724 REPLACE ; ROTATE_XYZ3 20 0 0 180 POSTCONCAT; ROTATE_XYZ3 20 -80 0 0 POSTCONCAT; SCALE3 20 0.5 0.5 0.5 POSTCONCAT; TRANSLATE3 21 -4.1 -0.5433 -1.3724 REPLACE ; ROTATE_XYZ3 21 0 0 180 POSTCONCAT; ROTATE_XYZ3 21 -80 0 0 POSTCONCAT; TRANSLATE3 22 -4.1 -0.5433 -1.3724 REPLACE ; ROTATE_XYZ3 22 0 0 180 POSTCONCAT; ROTATE_XYZ3 22 -80 0 0 POSTCONCAT; SCALE3 22 2 2 2 POSTCONCAT; TRANSLATE3 23 -4.1 -0.5433 -1.3724 REPLACE ; ROTATE_XYZ3 23 0 0 180 POSTCONCAT; ROTATE_XYZ3 23 -80 0 0 POSTCONCAT; SCALE3 23 4 4 4 POSTCONCAT; TRANSLATE3 24 -4.1 -0.5433 -1.3724 REPLACE ; ROTATE_XYZ3 24 0 0 180 POSTCONCAT; ROTATE_XYZ3 24 -80 0 0 POSTCONCAT; SCALE3 24 6 6 6 POSTCONCAT; ROTATE_XYZ3 50 0 90 0 REPLACE; TRANSLATE3 50 90.0 -2.0 0.0 POSTCONCAT ; ROTATE_XYZ3 50 60 0 0 POSTCONCAT; SCALE3 50 .06 .06 .06 POSTCONCAT; ROTATE_XYZ3 51 0 90 0 REPLACE; TRANSLATE3 51 106.0 -2.0 0.0 POSTCONCAT ; ROTATE_XYZ3 51 60 0 0 POSTCONCAT; ROTATE_XYZ3 52 0 90 0 REPLACE; TRANSLATE3 52 106.0 -2.0 0.0 POSTCONCAT ; ROTATE_XYZ3 52 60 0 0 POSTCONCAT; ROTATE_XYZ3 52 0 60 0 POSTCONCAT; ROTATE_XYZ3 53 0 90 0 REPLACE; ROTATE_XYZ3 53 30 0 0 POSTCONCAT; ROTATE_XYZ3 54 0 90 0 REPLACE; ROTATE_XYZ3 54 30 0 0 POSTCONCAT; ROTATE_XYZ3 54 0 60 0 POSTCONCAT; ROTATE_XYZ3 55 0 90 0 REPLACE; ROTATE_XYZ3 55 30 0 0 POSTCONCAT; ROTATE_XYZ3 55 0 60 0 POSTCONCAT; SCALE3 55 2 2 2 POSTCONCAT; ROTATE_XYZ3 56 0 90 0 REPLACE; ROTATE_XYZ3 56 30 0 0 POSTCONCAT; ROTATE_XYZ3 56 0 60 0 POSTCONCAT; ROTATE_XYZ3 56 0 -120 0 POSTCONCAT; TRANSLATE3 56 2.0 -1.0 0.0 POSTCONCAT ; ROTATE_XYZ3 57 0 90 0 REPLACE; ROTATE_XYZ3 57 30 0 0 POSTCONCAT; ROTATE_XYZ3 57 0 60 0 POSTCONCAT; ROTATE_XYZ3 57 0 -120 0 POSTCONCAT; TRANSLATE3 57 2.0 -1.0 0.0 POSTCONCAT ; SCALE3 57 2 2 2 POSTCONCAT; BEGIN_TEST 32 ; INVOKE_AT_FRAME % Complex Part % 100 CALL 1 101 CALL 2 102 CALL 3 103 CALL 4 104 CALL 5 105 CALL 6 106 CALL 7 107 CALL 8 108 CALL 9 109 CALL 10 110 CALL 11 111 CALL 12 112 CALL 13 113 CALL 14 114 CALL 15 115 CALL 16 116 CALL 17 117 CALL 18 118 CALL 19 119 CALL 20 120 CALL 21 121 CALL 22 122 CALL 23 123 CALL 24 % Extrusion % 150 CALL 25 151 CALL 26 152 CALL 27 153 CALL 28 154 CALL 29 155 CALL 30 156 CALL 31 157 CALL 32 ; END_TEST ; CLEAR_GEOMETRY ;