The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

VRML::VRML1::Standard.pm - implements the VRML 1.x standard nodes

SYNOPSIS

    use VRML::VRML1::Standard;

DESCRIPTION

Following nodes are currently implemented.

[Group Nodes] [Geometry Nodes] [Property Nodes]

[Appearance Nodes] [Transform Nodes] [Common Nodes]

Group Nodes

These nodes NEED End !

Group

Group()

Separator

Separator()

Switch

Switch($whichChild)

WWWAnchor

WWWAnchor($url, $description, $target)

$target works only with some browsers

LOD

LOD($range, $center)

$range = MFFloat

$center = SFVec3f

example: LOD([1, 2, 5], '0 0 0')

SpinGroup

SpinGroup($rotation, $local) is supported only by some browsers

Geometry Nodes

AsciiText

AsciiText($string, $width, $justification, $spacing)

$justification is a string ('LEFT','CENTER','RIGHT')

Cone

Cone($radius, $height, @parts)

@parts is an array of strings ('SIDES', 'BOTTOM', 'ALL')

Cube

Cube($width, $height, $depth)

Cylinder

Cylinder($radius, $height, @parts)

@parts is a list of strings ('SIDES', 'TOP', 'BOTTOM', 'ALL')

IndexedFaceSet

IndexedFaceSet($coordIndex_ref, $materialIndex_ref, $normalIndex_ref, $textureCoordIndex_ref)

$coordIndex_ref is a reference of a list of point index strings like ['0 1 3 2', '2 3 5 4', ...]

$materialIndex_ref is a reference of a list of materials

$normalIndex_ref is a reference of a list of normals

$textureCoordIndex_ref is a reference of a list of textures

IndexedLineSet

IndexedLineSet($coordIndex_ref, $materialIndex_ref, $normalIndex_ref, $textureCoordIndex_ref)

$coordIndex_ref is a reference of a list of point index strings like ['0 1 3 2', '2 3 5 4', ...]

$materialIndex_ref is a reference of a list of materials

$normalIndex_ref is a reference of a list of normals

$textureCoordIndex_ref is a reference of a list of textures

PointSet

PointSet($numPoints, $startIndex)

Sphere

Sphere($radius)

$radius must be > 0

Property Nodes

Coordinate3

Coordinate3(@points)

@points is a list of points with strings like '1.0 0.0 0.0', '-1 2 0'

Fontstyle

FontStyle($size, $family, $style) defines the current font style for all subsequent AsciiText Nodes

$familiy can be 'SERIF','SANS','TYPEWRITER'

$style can be 'NONE','BOLD','ITALIC'

Appearance Nodes

Material

Material(%materials)

MaterialBinding

MaterialBinding($value)

$value can be

    DEFAULT     Use default bindng
    OVERALL     Whole object has same material
    PER_PART    One material for each part of object
    PER_PART_INDEXED    One material for each part, indexed
    PER_FACE    One material for each face of object
    PER_FACE_INDEXED    One material for each face, indexed
    PER_VERTEX  One material for each vertex of object
    PER_VERTEX_INDEXED  One material for each vertex, indexed
Normal

Normal(@vector)

@vector is a list of vectors with strings like '1.0 0.0 0.0', '.5 .2 0'

NormalBinding

NormalBinding($value)

$value is the same as MaterialBinding

Texture2

Texture2($value)

Transform Nodes

Transform

Transform($translation, $rotation, $scaleFactor, $scaleOrientation, $center)

$translation is a string like "0 1 -2"

$rotation is a string like "0 0 1 1.57"

$scaleFactor is a string like "1 1 1"

$scaleOrientation is a string like "0 0 1 0"

$center is a string like "0 0 0"

Rotation

Rotation($rotation)

$rotation is a string like "0 0 1 1.57"

This node is not supported under VRML 2.0. Use Transform

Scale

Scale($scaleFactor)

$scaleFactor is a string like "1 1 1"

This node is not supported under VRML 2.0. Use Transform

Translation

Translation($translation)

$translation is a string like "0 1 -2"

This node is not supported under VRML 2.0. Use Transform

Common Nodes

PerspectiveCamera

PerspectiveCamera($position, $orientation, $heightAngle, $focalDistance, $nearDistance, $farDistance)

OrthographicCamera

OrthographicCamera($position, $orientation, $height, $focalDistance, $nearDistance, $farDistance)

DirectionalLight

DirectionalLight($direction, $intensity, $color, $on)

PointLight

PointLight($location, $intensity, $color, $on)

SpotLight

SpotLight($location, $direction, $intensity, $color, $on)

DirectedSound

DirectedSound($name, $description, $location, $direction, $intensity, $maxFrontRange, $maxBackRange, $minFrontRange, $minBackRange, $loop, $pause)

other

WWWInline

WWWInline($name, $bboxSize, $bboxCenter)

Info

Info($string)

NavigationInfo($type, $speed, $headlight)

Works only with Live3D and WebFX

USE

USE($name)

DEF

DEF($name)

SEE ALSO

VRML::VRML1::Standard

VRML::Base

http://www.gfz-potsdam.de/~palm/vrmlperl/ for a description of VRML-modules and how to obtain it.

BUGS

IndexedFaceSet and IndexedLineSet work currently only with references

AUTHOR

Hartmut Palm <palm@gfz-potsdam.de>

Homepage http://www.gfz-potsdam.de/~palm/