ProtoBody

Element Information

Model

FillProperties | LineProperties | Material | TwoSidedMaterial | ComposedShader | PackagedShader | ProgramShader | ComposedCubeMapTexture | ComposedTexture3D | ImageTexture | ImageTexture3D | MovieTexture | MultiTexture | PixelTexture | PixelTexture3D | GeneratedCubeMapTexture | ImageCubeMapTexture | MultiTextureTransform | TextureTransform | TextureTransform3D | TextureTransformMatrix3D | MetadataDouble | MetadataFloat | MetadataInteger | MetadataSet | MetadataString | Background | ColorInterpolator | CoordinateInterpolator | DirectionalLight | Group | NavigationInfo | NormalInterpolator | OrientationInterpolator | PositionInterpolator | ScalarInterpolator | Shape | TimeSensor | Transform | Viewpoint | WorldInfo | Anchor | BooleanFilter | BooleanSequencer | BooleanToggle | BooleanTrigger | CylinderSensor | Inline | IntegerSequencer | IntegerTrigger | KeySensor | PlaneSensor | PointLight | ProximitySensor | SphereSensor | SpotLight | StringSensor | Switch | TimeTrigger | TouchSensor | AudioClip | Billboard | Collision | Fog | LoadSensor | LocalFog | LOD | Script | Sound | VisibilitySensor | CoordinateInterpolator2D | PositionInterpolator2D | ClipPlane | EaseInEaseOut | LinePickSensor | PickableGroup | PointPickSensor | PrimitivePickSensor | VolumePickSensor | SplinePositionInterpolator | SplinePositionInterpolator2D | SplineScalarInterpolator | SquadOrientationInterpolator | StaticGroup | CADAssembly | CADLayer | CADPart | OrthoViewpoint | ViewpointGroup | ColorDamper | CoordinateDamper | OrientationChaser | OrientationDamper | PositionChaser | PositionChaser2D | PositionDamper | PositionDamper2D | ScalarChaser | TexCoordDamper2D | TextureBackground | CollidableShape | CollisionSensor | RigidBodyCollection | ParticleSystem | TransformSensor | EspduTransform | ReceiverPdu | SignalPdu | TransmitterPdu | DISEntityManager | GeoLocation | GeoLOD | GeoMetadata | GeoOrigin | GeoPositionInterpolator | GeoProximitySensor | GeoTouchSensor | GeoViewpoint | GeoTransform | HAnimHumanoid | HAnimJoint | HAnimSegment | HAnimSite | NurbsOrientationInterpolator | NurbsPositionInterpolator | NurbsSurfaceInterpolator | NurbsSet | ProtoInstance | Box | Cone | Cylinder | IndexedFaceSet | IndexedLineSet | IndexedTriangleFanSet | IndexedTriangleSet | IndexedTriangleStripSet | LineSet | PointSet | Sphere | TriangleFanSet | TriangleSet | TriangleStripSet | ElevationGrid | Polyline2D | Polypoint2D | Rectangle2D | TriangleSet2D | Extrusion | Text | Arc2D | ArcClose2D | Circle2D | Disk2D | QuadSet | IndexedQuadSet | GeoElevationGrid | NurbsCurve | NurbsPatchSurface | NurbsSweptSurface | NurbsSwungSurface | NurbsTrimmedSurface | Appearance | Color | ColorRGBA | Coordinate | CoordinateDouble | FontStyle | ScreenFontStyle | GeoCoordinate | Normal | TextureCoordinate | Contour2D | ContourPolyline2D | NurbsTextureCoordinate | Layer | LayoutLayer | Viewport | BallJoint | CollidableOffset | CollisionCollection | CollisionSpace | Contact | DoubleAxisHingeJoint | MotorJoint | RigidBody | SingleAxisHingeJoint | SliderJoint | UniversalJoint | ROUTE | ExternProtoDeclare | ProtoDeclare | IMPORT | EXPORT | LayerSet{0,1}
Children: Anchor, Appearance, Arc2D, ArcClose2D, AudioClip, Background, BallJoint, Billboard, BooleanFilter, BooleanSequencer, BooleanToggle, BooleanTrigger, Box, CADAssembly, CADLayer, CADPart, Circle2D, ClipPlane, CollidableOffset, CollidableShape, Collision, CollisionCollection, CollisionSensor, CollisionSpace, Color, ColorDamper, ColorInterpolator, ColorRGBA, ComposedCubeMapTexture, ComposedShader, ComposedTexture3D, Cone, Contact, Contour2D, ContourPolyline2D, Coordinate, CoordinateDamper, CoordinateDouble, CoordinateInterpolator, CoordinateInterpolator2D, Cylinder, CylinderSensor, DISEntityManager, DirectionalLight, Disk2D, DoubleAxisHingeJoint, EXPORT, EaseInEaseOut, ElevationGrid, EspduTransform, ExternProtoDeclare, Extrusion, FillProperties, Fog, FontStyle, GeneratedCubeMapTexture, GeoCoordinate, GeoElevationGrid, GeoLOD, GeoLocation, GeoMetadata, GeoOrigin, GeoPositionInterpolator, GeoProximitySensor, GeoTouchSensor, GeoTransform, GeoViewpoint, Group, HAnimHumanoid, HAnimJoint, HAnimSegment, HAnimSite, IMPORT, ImageCubeMapTexture, ImageTexture, ImageTexture3D, IndexedFaceSet, IndexedLineSet, IndexedQuadSet, IndexedTriangleFanSet, IndexedTriangleSet, IndexedTriangleStripSet, Inline, IntegerSequencer, IntegerTrigger, KeySensor, LOD, Layer, LayerSet, LayoutLayer, LinePickSensor, LineProperties, LineSet, LoadSensor, LocalFog, Material, MetadataDouble, MetadataFloat, MetadataInteger, MetadataSet, MetadataString, MotorJoint, MovieTexture, MultiTexture, MultiTextureTransform, NavigationInfo, Normal, NormalInterpolator, NurbsCurve, NurbsOrientationInterpolator, NurbsPatchSurface, NurbsPositionInterpolator, NurbsSet, NurbsSurfaceInterpolator, NurbsSweptSurface, NurbsSwungSurface, NurbsTextureCoordinate, NurbsTrimmedSurface, OrientationChaser, OrientationDamper, OrientationInterpolator, OrthoViewpoint, PackagedShader, ParticleSystem, PickableGroup, PixelTexture, PixelTexture3D, PlaneSensor, PointLight, PointPickSensor, PointSet, Polyline2D, Polypoint2D, PositionChaser, PositionChaser2D, PositionDamper, PositionDamper2D, PositionInterpolator, PositionInterpolator2D, PrimitivePickSensor, ProgramShader, ProtoDeclare, ProtoInstance, ProximitySensor, QuadSet, ROUTE, ReceiverPdu, Rectangle2D, RigidBody, RigidBodyCollection, ScalarChaser, ScalarInterpolator, ScreenFontStyle, Script, Shape, SignalPdu, SingleAxisHingeJoint, SliderJoint, Sound, Sphere, SphereSensor, SplinePositionInterpolator, SplinePositionInterpolator2D, SplineScalarInterpolator, SpotLight, SquadOrientationInterpolator, StaticGroup, StringSensor, Switch, TexCoordDamper2D, Text, TextureBackground, TextureCoordinate, TextureTransform, TextureTransform3D, TextureTransformMatrix3D, TimeSensor, TimeTrigger, TouchSensor, Transform, TransformSensor, TransmitterPdu, TriangleFanSet, TriangleSet, TriangleSet2D, TriangleStripSet, TwoSidedMaterial, UniversalJoint, Viewpoint, ViewpointGroup, Viewport, VisibilitySensor, VolumePickSensor, WorldInfo

Used By

Element ProtoDeclare

Source

<xs:element name="ProtoBody">
  <xs:annotation>
    <xs:appinfo>
      <!-- ProtoBody can contain children nodes of any type, not just X3DChildNode -->
      <xs:element name="children" type="MFNode" default="X3DNode"/>
      <xs:attribute name="componentName" type="xs:NMTOKEN" fixed="Core"/>
      <xs:attribute name="componentLevel" type="xs:positiveInteger" fixed="2"/>ProtoBody contains the definition nodes for new Prototype nodes.</xs:appinfo>
    <xs:documentation source="http://www.web3d.org/documents/specifications/19776-1/V3.3/Part01/concepts.html#PrototypeAndFieldDeclarationSyntax"/>
  </xs:annotation>
  <xs:complexType>
    <xs:complexContent>
      <xs:extension base="SceneGraphStructureStatement">
        <xs:choice minOccurs="1" maxOccurs="unbounded">
          <xs:group ref="SceneGraphFragmentWithPrototypeDeclarationsContentModel" maxOccurs="unbounded"/>
          <!-- nested ProtoDeclares, ProtoInstances are allowed by specification. -->
          <xs:element ref="LayerSet" minOccurs="0">
            <xs:annotation>
              <xs:documentation>At most one LayerSet can appear in a scene and must be a root node.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:choice>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:element>

Sample