NAME

Chart::Plotly::Trace::Streamtube::Lighting - This attribute is one of the possible options for the trace streamtube.

VERSION

version 0.042

SYNOPSIS

use Chart::Plotly;
use Chart::Plotly::Trace::Streamtube;
use Chart::Plotly::Plot;

# Example from https://github.com/plotly/plotly.js/blob/273292dcb24170f775dbc7ebb285c9b6a80b10f4/test/image/mocks/gl3d_streamtube-simple.json

my $trace = Chart::Plotly::Trace::Streamtube->new(
    cmax    => 3,
    cmin    => 0,
    sizeref => 0.5,
    type    => 'streamtube',
    u       => [ (1) x 9, (1.8414709848079) x 9, (1.90929742682568) x 9 ],
    v       => [
           (1) x 3,
           (0.54030230586814) x 3,
           (-0.416146836547142) x 3,
           (1) x 3,
           (0.54030230586814) x 3,
           (-0.416146836547142) x 3,
           (1) x 3,
           (0.54030230586814) x 3,
           (-0.416146836547142) x 3
    ],
    w => [ 0,                  0.0886560619984019, 0.169392742018511,  0,
           0.0886560619984019, 0.169392742018511,  0,                  0.0886560619984019,
           0.169392742018511,  0,                  0.0886560619984019, 0.169392742018511,
           0,                  0.0886560619984019, 0.169392742018511,  0,
           0.0886560619984019, 0.169392742018511,  0,                  0.0886560619984019,
           0.169392742018511,  0,                  0.0886560619984019, 0.169392742018511,
           0,                  0.0886560619984019, 0.169392742018511
    ],
    x => [ (0) x 9, (1) x 9, (2) x 9 ],
    y => [ (0) x 3, (1) x 3, (2) x 3, (0) x 3, (1) x 3, (2) x 3, (0) x 3, (1) x 3, (2) x 3 ],
    z => [ 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2 ]

);

my $plot = Chart::Plotly::Plot->new( traces => [$trace],
                                     layout => {
                                                 scene => {
                                                            camera => {
                                                                        eye => { x => -0.724361245886518,
                                                                                 y => 1.9269804254718,
                                                                                 z => 0.670482829986172
                                                                        }
                                                            }
                                                 }
                                     }
);

Chart::Plotly::show_plot($plot);

DESCRIPTION

This attribute is part of the possible options for the trace streamtube.

This file has been autogenerated from the official plotly.js source.

If you like Plotly, please support them: https://plot.ly/ Open source announcement: https://plot.ly/javascript/open-source-announcement/

Full reference: https://plot.ly/javascript/reference/#streamtube

DISCLAIMER

This is an unofficial Plotly Perl module. Currently I'm not affiliated in any way with Plotly. But I think plotly.js is a great library and I want to use it with perl.

METHODS

TO_JSON

Serialize the trace to JSON. This method should be called only by JSON serializer.

ATTRIBUTES

  • ambient

    Ambient light increases overall color visibility but can wash out the image.

  • diffuse

    Represents the extent that incident rays are reflected in a range of angles.

  • facenormalsepsilon

    Epsilon for face normals calculation avoids math issues arising from degenerate geometry.

  • fresnel

    Represents the reflectance as a dependency of the viewing angle; e.g. paper is reflective when viewing it from the edge of the paper (almost 90 degrees), causing shine.

  • roughness

    Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.

  • specular

    Represents the level that incident rays are reflected in a single direction, causing shine.

  • vertexnormalsepsilon

    Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.

AUTHOR

Pablo Rodríguez González <pablo.rodriguez.gonzalez@gmail.com>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2022 by Pablo Rodríguez González.

This is free software, licensed under:

The MIT (X11) License