example_ppm2 Program

Uses

    • forimage
    • forcad
    • fortime
    • forcolormap
  • program~~example_ppm2~~UsesGraph program~example_ppm2 example_ppm2 forcolormap forcolormap program~example_ppm2->forcolormap forimage forimage program~example_ppm2->forimage fortime fortime program~example_ppm2->fortime module~forcad forcad program~example_ppm2->module~forcad module~forcad_nurbs_curve forcad_nurbs_curve module~forcad->module~forcad_nurbs_curve module~forcad_nurbs_surface forcad_nurbs_surface module~forcad->module~forcad_nurbs_surface module~forcad_nurbs_volume forcad_nurbs_volume module~forcad->module~forcad_nurbs_volume module~forcad_utils forcad_utils module~forcad->module~forcad_utils module~forcad_nurbs_curve->module~forcad_utils module~forcad_nurbs_surface->module~forcad_utils module~forcad_nurbs_volume->module~forcad_utils stdlib_quadrature stdlib_quadrature module~forcad_utils->stdlib_quadrature

Visualization of NURBS surfaces using ForCAD, ForImage and ForColorMap libraries This example converts NURBS surfaces (vector) to an image (raster) using ForCAD, ForImage and ForColorMap libraries.

Set the shape parameters for a tetragon Set the shape parameters for a ring Set the shape parameters for a ring Set the shape parameters for a ring Set the shape parameters for a ring


Calls

program~~example_ppm2~~CallsGraph program~example_ppm2 example_ppm2 compute_rgb compute_rgb program~example_ppm2->compute_rgb export_pnm export_pnm program~example_ppm2->export_pnm get_b get_b program~example_ppm2->get_b get_g get_g program~example_ppm2->get_g get_r get_r program~example_ppm2->get_r none~get_xg~3 nurbs_surface%get_Xg program~example_ppm2->none~get_xg~3 proc~create~3 nurbs_surface%create program~example_ppm2->proc~create~3 proc~finalize~3 nurbs_surface%finalize program~example_ppm2->proc~finalize~3 proc~get_ng~3 nurbs_surface%get_ng program~example_ppm2->proc~get_ng~3 proc~rotate_xc~3 nurbs_surface%rotate_Xc program~example_ppm2->proc~rotate_xc~3 proc~set_half_ring~2 nurbs_surface%set_half_ring program~example_ppm2->proc~set_half_ring~2 proc~set_tetragon nurbs_surface%set_tetragon program~example_ppm2->proc~set_tetragon proc~translate_xc~3 nurbs_surface%translate_Xc program~example_ppm2->proc~translate_xc~3 set set program~example_ppm2->set set_pnm set_pnm program~example_ppm2->set_pnm timer_start timer_start program~example_ppm2->timer_start timer_stop timer_stop program~example_ppm2->timer_stop proc~get_xg_all~3 nurbs_surface%get_Xg_all none~get_xg~3->proc~get_xg_all~3 proc~get_xgid~3 nurbs_surface%get_Xgid none~get_xg~3->proc~get_xgid~3 proc~get_xgi~3 nurbs_surface%get_Xgi none~get_xg~3->proc~get_xgi~3 interface~compute_xg~3 compute_Xg proc~create~3->interface~compute_xg~3 interface~ndgrid ndgrid proc~create~3->interface~ndgrid proc~is_rational~3 nurbs_surface%is_rational proc~create~3->proc~is_rational~3 proc~rotation rotation proc~rotate_xc~3->proc~rotation none~set~3 nurbs_surface%set proc~set_half_ring~2->none~set~3 proc~set_tetragon->none~set~3 proc~tetragon_xc tetragon_Xc proc~set_tetragon->proc~tetragon_xc proc~ndgrid2 ndgrid2 interface~ndgrid->proc~ndgrid2 proc~ndgrid3 ndgrid3 interface~ndgrid->proc~ndgrid3 proc~set1~3 nurbs_surface%set1 none~set~3->proc~set1~3 proc~set2~3 nurbs_surface%set2 none~set~3->proc~set2~3 proc~set3~3 nurbs_surface%set3 none~set~3->proc~set3~3 proc~set4~3 nurbs_surface%set4 none~set~3->proc~set4~3 cosd cosd proc~rotation->cosd sind sind proc~rotation->sind proc~cmp_degree~3 nurbs_surface%cmp_degree proc~set1~3->proc~cmp_degree~3 proc~cmp_nc~3 nurbs_surface%cmp_nc proc~set1~3->proc~cmp_nc~3 proc~set2~3->proc~cmp_nc~3 proc~compute_knot_vector compute_knot_vector proc~set2~3->proc~compute_knot_vector proc~set3~3->proc~cmp_degree~3 proc~get_multiplicity~3 nurbs_surface%get_multiplicity proc~cmp_degree~3->proc~get_multiplicity~3 interface~compute_multiplicity compute_multiplicity proc~cmp_nc~3->interface~compute_multiplicity proc~repelem repelem proc~compute_knot_vector->proc~repelem proc~compute_multiplicity1 compute_multiplicity1 interface~compute_multiplicity->proc~compute_multiplicity1 proc~compute_multiplicity2 compute_multiplicity2 interface~compute_multiplicity->proc~compute_multiplicity2 proc~get_multiplicity~3->interface~compute_multiplicity

Variables

Type Attributes Name Initial
real(kind=rk), allocatable :: Xg(:,:)
real(kind=rk) :: aspect_ratio
type(color) :: background_color
integer :: blue
real(kind=rk) :: center(3)
type(colormap) :: cmap
integer :: green
integer :: height
integer :: i
integer, allocatable :: idx(:,:)
type(format_pnm) :: image
real(kind=rk) :: inner_radius
integer :: ng(2)
real(kind=rk) :: outer_radius
integer(kind=ik), allocatable :: px(:,:)
integer :: red
integer :: res1
integer :: res2
type(nurbs_surface) :: shape
type(timer) :: t
integer :: width
real(kind=rk), allocatable :: z_values(:)