<!-- Utilize ExtrusionCrossSection ProtoInstance as a Shape node (with containerField="children") rather than an Extrusion node (with containerField="geometry"). -->
<
ExternProtoDeclare name='
ExtrusionCrossSection'
url='
"
ExtrusionCrossSectionPrototype.wrl#ExtrusionCrossSection"
"
/www.web3d.org/x3d/content/examples/Basic/course/ExtrusionCrossSectionPrototype.wrl#ExtrusionCrossSection"
"
http://www.web3d.org/x3d/content/examples/Basic/course/ExtrusionCrossSectionPrototype.wrl#ExtrusionCrossSection"
"
ExtrusionCrossSectionPrototype.x3d#ExtrusionCrossSection"
"
/www.web3d.org/x3d/content/examples/Basic/course/ExtrusionCrossSectionPrototype.x3d#ExtrusionCrossSection"
"
http://www.web3d.org/x3d/content/examples/Basic/course/ExtrusionCrossSectionPrototype.x3d#ExtrusionCrossSection"
'>
<field name='name' type='SFString' accessType='initializeOnly'/>
<field name='crossSection' type='MFVec2f' accessType='initializeOnly'/>
<field name='spine' type='MFVec3f' accessType='initializeOnly'/>
<field name='scale' type='MFVec2f' accessType='initializeOnly'/>
<field name='orientation' type='MFRotation' accessType='initializeOnly'/>
<field name='beginCap' type='SFBool' accessType='initializeOnly'/>
<field name='endCap' type='SFBool' accessType='initializeOnly'/>
<field name='ccw' type='SFBool' accessType='initializeOnly'/>
<field name='convex' type='SFBool' accessType='initializeOnly'/>
<field name='creaseAngle' type='SFFloat' accessType='initializeOnly'/>
<field name='solid' type='SFBool' accessType='initializeOnly'/>
<field name='lineColor' type='MFColor' accessType='inputOutput'/>
<field name='crossSectionMaterial' type='SFNode' accessType='inputOutput'/>
<field name='extrusionMaterial' type='SFNode' accessType='inputOutput'/>
<field name='extrusionImageTexture' type='SFNode' accessType='initializeOnly'/>
<field name='extrusionTextureTransform' type='SFNode' accessType='initializeOnly'/>
<!-- run-time eventIn Extrusion-modification interfaces for VRML 97 compatibility -->
<field name='set_crossSection' type='MFVec2f' accessType='inputOnly'/>
<field name='set_spine' type='MFVec3f' accessType='inputOnly'/>
<field name='set_scale' type='MFVec2f' accessType='inputOnly'/>
<field name='set_orientation' type='MFRotation' accessType='inputOnly'/>
<field name='traceEnabled' type='SFBool' accessType='initializeOnly'/>
</
ExternProtoDeclare>
<!-- ==================== -->
<!-- Example instance adapted from Figure15.12Torus.x3d -->
<!-- http://www.web3d.org/x3d/content/examples/Basic/Vrml2.0Sourcebook/Chapter15-Extrusion/Figure15.12Torus.x3d -->
<!-- First position and rotate viewpoint into positive-X-Y-Z octant using a Transform -->
<
Transform rotation='
0 1 0 0.758'
translation='
10 5 10'>
<
Viewpoint description='
crossSections of Torus'
orientation='
1 0 0 -0.3'
position='
0 0 0'/>
</
Transform>
<
ProtoInstance name='
ExtrusionCrossSection'
containerField='
children'>
<
fieldValue name='
name'
value='
Torus'/>
<
fieldValue name='
crossSection'
value='
0 1 0.38 0.92 0.71 0.71 0.92 0.38 1 0 0.92 -0.38 0.71 -0.71 0.38 -0.92 0 -1 -0.38 -0.92 -0.71 -0.71 -0.92 -0.38 -1 0 -0.92 0.38 -0.71 0.71 -0.38 0.92 0 1'/>
<
fieldValue name='
spine'
value='
2.00 0.0 0.00 1.85 0.0 0.77 1.41 0.0 1.41 0.77 0.0 1.85 0.00 0.0 2.00 -0.77 0.0 1.85 -1.41 0.0 1.41 -1.85 0.0 0.77 -2.00 0.0 0.00 -1.85 0.0 -0.77 -1.41 0.0 -1.41 -0.77 0.0 -1.85 0.00 0.0 -2.00 0.77 0.0 -1.85 1.41 0.0 -1.41 1.85 0.0 -0.77 2.00 0.0 0.00'/>
<
fieldValue name='
beginCap'
value='
false'/>
<
fieldValue name='
endCap'
value='
false'/>
<
fieldValue name='
creaseAngle'
value='
1.57'/>
<
fieldValue name='
lineColor'
value='
1 1 1'/>
<
fieldValue name='
crossSectionMaterial'>
<Material diffuseColor='0.8 0.8 0' emissiveColor='0.1 0 0' transparency='0.1'/>
</
fieldValue>
<
fieldValue name='
extrusionMaterial'>
<Material diffuseColor='1 0 1' transparency='0.5'/>
</
fieldValue>
<
fieldValue name='
traceEnabled'
value='
false'/>
</
ProtoInstance>
<
Transform scale='
4 4 4'>
</
Transform>