NAME

VRML::VRML2::Standard.pm - implements VRML 2.0 Standard Nodes


SYNOPSIS

    use VRML::VRML2::Standard;


DESCRIPTION

Following nodes are currently implemented.

[Grouping Nodes] [Special Groups] [Common Nodes]

[Geometry] [Geometric Properties] [Appearance]

[Sensors] [Interpolators] [Bindable Nodes]


Grouping Nodes

These nodes NEED End if the $children parameter is empty !

Anchor
Anchor($url, $description, $parameter, $bboxSize, $bboxCenter, $children)

Currently only the first part of $parameter is supported.

Billboard
Billboard($axisOfRotation, $children)

Collision
Collision($collide, $proxy, $children)

Group
Group($bboxSize, $bboxCenter)

Transform
Transform($translation, $rotation, $scale, $scaleOrientation, $center, $bboxSize, $bboxCenter)

$translation is a SFVec3f

$rotation is a SFRotation

$scale is a SFVec3f

$scaleOrientation is a SFRotation

$center is a SFVec3f


Special Groups

Inline
Inline($url, $bboxSize, $bboxCenter)

LOD
LOD($range, $center)

$range is a MFFloat

$center is a SFVec3f

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

Switch
Switch($whichChoice)


Common Nodes

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

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

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

Sound
Sound($source, $location, $direction, $intensity, $maxFront, $maxBack, $minFront, $minBack, $priority, $spatialize)

AudioClip
AudioClip($url, $description, $loop, $pitch, $startTime, $stopTime)

WorldInfo
WorldInfo($title, $info)

Shape
Shape($geometry, $appearance)


Geometry

Box
Box($size)

Cone
Cone($radius, $height, $side, $bottom)

Cylinder
Cylinder($radius, $height, $top, $side, $bottom)

ElevationGrid
ElevationGrid($xDimension, $zDimension, $xSpacing, $zSpacing, $height, $creaseAngle, $color, $colorPerVertex, $solid)

$height should be a reference of a list of height values like ['0 1 3 2', '2 3 5 4', ...]

$color should be a reference to a subroutine or list of color values

Extrusion
Extrusion($crossSection, $spine, $scale, $orientation, $beginCap, $endCap, $creaseAngle, $solid, $convex, $ccw)

$spine should be a reference of a list of spine values like ['0 0 0', '0 1 0', ...]

IndexedFaceSet
IndexedFaceSet($coord, $coordIndex, $color, $coordIndex, $colorPerVertex, $normal, $normalIndex_ref, $texCoord, $texCoordIndex_ref)

$coordIndex should be a list of point index strings or a reference like '0 1 3 2', '2 3 5 4', ...

$coordIndex should be a reference of a list of colors

$normalIndex_ref should be a reference of a list of normals

$texCoordIndex_ref should be a reference of a list of textures

IndexedLineSet
IndexedLineSet($coord, $coordIndex, $color, $colorIndex, $colorPerVertex)

$coord should be a reference to a Coordinate method or a string with a Coordinate node.

$coordIndex should be a reference of a list of point index strings like '0, 1, 3, 2', '2, 3, 5, 4', ...

$colorIndex should be a reference of a list of colors

PointSet
PointSet($coord, $color)

Sphere
Sphere($radius)

$radius have to be > 0

Text
Text($string, $fontStyle, $length, $maxExtent)


Geometric Properties

Coordinate
Coordinate(@point)

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

Color
Color(@color)

@color should be a list of colors with strings like '1.0 0.0 0.0', '.3 .2 .1'

Normal
Normal(@vector)

@vector should be a list of vectors with strings like '1.0 0.0 0.0', '.4 .2 0'


Appearance

Appearance
Appearance

Fontstyle
FontStyle($size, $family, $style, $justify) defines the current font style for the current Text Nodes

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

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

$justify can be 'BEGIN', 'MIDDLE', 'END'

Material
Material(%materials)

ImageTexture
ImageTexture($url)

MovieTexture
MovieTexture($url)


Sensors

CylinderSensor
CylinderSensor($maxAngle, $minAngle, $diskAngle, $offset, $autoOffset, $enabled)

PlaneSensor
PlaneSensor($maxPosition, $minPosition, $offset, $autoOffset, $enabled)

ProximitySensor
ProximitySensor($size, $center, $enabled)

SphereSensor
SphereSensor($offset, $autoOffset, $enabled)

TimeSensor
TimeSensor($cycleInterval, $loop, $startTime, $stopTime, $enabled)

TouchSensor
TouchSensor($enabled)

VisibilitySensor
VisibilitySensor($size, $center, $enabled)


Interpolators

ColorInterpolator
ColorInterpolator($key, $keyValue)

CoordinateInterpolator
CoordinateInterpolator($key, $keyValue)

OrientationInterpolator
OrientationInterpolator($key, $keyValue)

NormalInterpolator
NormalInterpolator($key, $keyValue)

PositionInterpolator
PositionInterpolator($key, $keyValue)

ScalarInterpolator
ScalarInterpolator($key, $keyValue)

$key MFFloat $keyValue MFFloat


Bindable Nodes

Background
Background($hash)

You only can use a hash. Parameter see VRML Spec

NavigationInfo
NavigationInfo($type, $speed, $headlight, $visibilityLimit, $avatarSize)

You can use a hash reference or all parameter in the same order above

Viewpoint
Viewpoint($description, $position, $orientation, $fieldOfView, $jump)

PROTO
PROTO($name, $declaration, $definition)


other

USE
USE($name)

DEF
DEF($name)

ROUTE
ROUTE($from, $to)

End
End($comment)

Close an open node with }

EndChildren
EndChildren($comment)

Close an open children part with ]

EndTransform
EndTransform($comment)

Close an open children part with ] and the node with }


SEE ALSO

VRML::VRML2::Standard

VRML::Base

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


AUTHOR

Hartmut Palm <palm@gfz-potsdam.de>

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