false
x3d.
####################################################################################################
#
# Invoking X3D model self-test:
#
# $ python
#
# Python package x3d.py package is available on PyPI for import.
# This approach simplifies Python X3D deployment and use.
# https://pypi.org/project/x3d
#
# Installation:
# pip install x3d
# or
# python -m pip install x3d
#
# Developer options for loading x3d package in other Python programs:
#
# from x3d import * # preferred approach, terser source that avoids x3d.* class prefixes
#
# or
# import x3d # traditional way to subclass x3d package, all classes require x3d.* prefix,
# # but python source is very verbose, for example x3d.Material x3d.Shape etc.
# # X3dToPython.xslt stylesheet insertPackagePrefix=true supports this option.
#
####################################################################################################
import x3d
from x3d import *
print('*** Lattice Xvl nodes were an experimental extensibility effort in 2002 and are not supported in ISO-standard X3D. Exiting.')
import sys
sys.exit()
####################################################################################################
print('*** is an experimental X3D model and not intended to run. Exiting.')
import sys
sys.exit()
####################################################################################################
####################################################################################################
# Self-test diagnostics
####################################################################################################
print('Self-test diagnostics
for
:')
if x3d.metaDiagnostics(newModel): # built-in utility method in X3D class to show
print(x3d.metaDiagnostics(newModel)) # ('info', 'hint', 'warning', 'error', 'TODO')
if metaDiagnostics(newModel): # built-in utility method in X3D class
print(metaDiagnostics(newModel)) # display meta info, hint, warning, error, TODO values in this model
# print('check newModel.XML() serialization...')
newModelXML= newModel.XML() # test export method XML() for exceptions during export
newModel.XMLvalidate()
# print(newModelXML) # diagnostic
try:
# print('check newModel.VRML() serialization...')
newModelVRML=newModel.VRML() # test export method VRML() for exceptions during export
# print(prependLineNumbers(newModelVRML)) # debug
print("Python-to-VRML export of VRML output successful", flush=True)
except Exception as err: # usually BaseException
# https://stackoverflow.com/questions/18176602/how-to-get-the-name-of-an-exception-that-was-caught-in-python
print("*** Python-to-VRML export of VRML output failed:", type(err).__name__, err)
if newModelVRML: # may have failed to generate
print(prependLineNumbers(newModelVRML, err.lineno))
try:
# print('check newModel.JSON() serialization...')
newModelJSON=newModel.JSON() # test export method JSON() for exceptions during export
# print(prependLineNumbers(newModelJSON)) # debug
print("Python-to-JSON export of JSON output successful (under development)")
except Exception as err: # usually SyntaxError
print("*** Python-to-JSON export of JSON output failed:", type(err).__name__, err)
if newModelJSON: # may have failed to generate
print(prependLineNumbers(newModelJSON,err.lineno))
print("python
load and self-test diagnostics complete.")
head
Scene
children
children
Texture
children
appearance
fillProperties
lineProperties
texCoord
textureTransform
color
geometry
material
normal
children
*** containerField incorrect for
with parent
, reset to children
metadata
*** error in X3D4 model, overriding
DEF='
'
USE='
'
having containerField='
' with corrected containerField='metadata' since
parent node is
DEF='
'
... please fix original X3D model
children
*** default containerField for
child
changed from 'mapping' to 'children' in X3D4
*** containerField not determined for
, using 'children'
children
rootNode
segments
... containerField mismatch for
DEF='
'
USE='
'
name='
'
found containerField='
' but expected containerField='
'
newModel
=
=
[
(
(
children=[
(
(
(
,
,
sourceCode="""
ecmascript:
"""
)
# X3D model complete
]
)
)
)
,
,
,
,
,
]
,
_
=
,
#
<--
-->
found digital signature element ds:
1
2
3
4
9
16
1
*** Error: tuple-size not found for type '
' (type value missing)
*** Error: attribute-type: FIELD_DECLARATION_NOT_FOUND, no ProtoDeclare or ExternProtoDeclare found for ProtoInstance name='
' $parentElementName='
' fieldValue name='
', using SFString
SFString
SFString
SFDouble
xs:string
MFString
SFBool
MFBool
SFColor
SFColorRGBA
MFColor
MFColorRGBA
SFImage
SFDouble
MFDouble
SFFloat
MFFloat
SFTime
SFVec2f
MFVec2f
MFVec2d
SFVec3d
MFVec3d
SFVec3f
MFVec3f
SFVec4f
SFRotation
MFRotation
SFMatrix3f
MFMatrix3f
SFMatrix4f
MFMatrix4f
MFInt32
SFInt32
*** Warning: X3dToPython.xslt attribute type not found for
field '
'
bool
int
str
object
list
float
SFString
[
(
(
'
"
'
True
False
None
None
)
]
)
'
"
'
1
1
)
,(
,
\'
'
'
","