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

- NAME
- SYNOPSIS
- DESCRIPTION
  - Group Nodes
  - Geometry Nodes
  - Property Nodes
  - Appearance Nodes
  - Transform Nodes
  - Common Nodes
  - other
- SEE ALSO
- AUTHOR

# 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` have to 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
  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.

# AUTHOR

Hartmut Palm <palm@gfz-potsdam.de>

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