vrml.node
index
p:\vrml\node.py

Base-class for scenegraph nodes
 
Requires Python 2.2.x, as it makes
extensive use of properties

 
Modules
            
vrml.copier
vrml.field
vrml.fieldtypes
new
vrml.weakkeydictfix
vrml.weaklist
weakref
 
Classes
            
object
Node
NullNode
PrototypedNode
_MFNode
MFNode(_MFNode, Field)
MFNodeEvt(_MFNode, Event)
_SFNode
SFNode(_SFNode, Field)
SFNodeEvt(_SFNode, Event)
WeakSFNode(_SFNode, WeakField, Field)
 
class MFNode(_MFNode, Field)
      MFNode Field class
 
  
Method resolution order:
MFNode
_MFNode
Field
property
object

Data and non-method functions defined here:
__doc__ = 'MFNode Field class'
__module__ = 'vrml.node'

Methods inherited from _MFNode:
coerce(self, value)
Coerce value to an MFNode list-of-objects
copyValue(self, value, copier=None)
Copy a value for copier
fset(self, client, value, notify=1)
Set the client's value for this property
 
notify -- if true send a notification event
 
The MFNode tries to update the value's root
attribute to point to the root of the client
*iff* the value doesn't currently point at
a valid root.  (That is, it only updates root
if there is no current root).  This is done
without sending notify events.
vrmlstr(self, value, lineariser)
Convert the given value to a VRML97 representation

Properties inherited from _MFNode:
baseSFNode
exposedField SFNode GeneralSFNode <bound method SFNode
baseSFNode getter = fget(self, client) from SFNode
Get the client's value for this property
 
if notify is true send a notification event.
baseSFNode setter = fset(self, client, value, notify=1) from SFNode
Set the client's value for this property
 
notify -- if true send a notification event
 
The SFNode tries to update the value's root
attribute to point to the root of the client
*iff* the value doesn't currently point at
a valid root.  (That is, it only updates root
if there is no current root).  This is done
without sending notify events.
baseSFNode deleter = fdel(self, client, notify=1) from SFNode
Delete the client's value for this property
 
if notify is true send a notification event.

Data and non-method functions inherited from _MFNode:
__dict__ = <dict-proxy object at 0x0733BCF0>
__weakref__ = <member '__weakref__' of '_MFNode' objects>
baseObjectType = <type 'list'>
list() -> new list
list(sequence) -> new list initialized from sequence's items
defaultDefault = <type 'list'>
list() -> new list
list(sequence) -> new list initialized from sequence's items
nodes = 1

Methods inherited from Field:
__init__(self, name, exposure=1, default=[])
Initialise the field object
 
name -- string name
exposure -- boolean (0/1) indicating whether this is an exposed field
default -- default value for the field
__str__(self)
check(self, value)
Raise ValueError if isn't correct type
copy(self, client=None, copier=None)
Copy this property's value/definition for client node/proto
 
if client is a prototype, copy this field definition
for use in a new prototype.
 
if client is a node, and it has a set value for this
field, then returns copyValue( currentValue )
 
otherwise returns _NULL, a singleton object which
shouldn't turn up anywhere else.
fdel(self, client, notify=1)
Delete the client's value for this property
 
if notify is true send a notification event.
fget(self, client)
Get the client's value for this property
 
if notify is true send a notification event.
fhas(self, client)
Determine whether the client currently has a non-default value
fieldVrmlstr(self, lineariser)
Write the field's definition to the lineariser
 
Basically this gives you a VRML97 fragment
which can be used for creating a PROTO which
will have the equivalent of this field available.
getDefault(self, client=None)
Get the default value of this field
 
if client, set client's attribute to default
without sending a notification event.
typeName(self)
Get the typeName of this field

Methods inherited from property:
__delete__(...)
descr.__delete__(obj)
__get__(...)
descr.__get__(obj[, type]) -> value
__getattribute__(...)
x.__getattribute__('name') <==> x.name
__set__(...)
descr.__set__(obj, value)

Data and non-method functions inherited from property:
__new__ = <built-in method __new__ of type object at 0x1E09F220>
T.__new__(S, ...) -> a new object with type S, a subtype of T

Methods inherited from object:
__delattr__(...)
x.__delattr__('name') <==> del x.name
__hash__(...)
x.__hash__() <==> hash(x)
__reduce__(...)
helper for pickle
__repr__(...)
x.__repr__() <==> repr(x)
__setattr__(...)
x.__setattr__('name', value) <==> x.name = value

Data and non-method functions inherited from object:
__class__ = <type 'type'>
 
class MFNodeEvt(_MFNode, Event)
      MFNode Event class
 
  
Method resolution order:
MFNodeEvt
_MFNode
Event
object

Data and non-method functions defined here:
__doc__ = 'MFNode Event class'
__module__ = 'vrml.node'
fieldType = 'MFNode'

Methods inherited from _MFNode:
coerce(self, value)
Coerce value to an MFNode list-of-objects
copyValue(self, value, copier=None)
Copy a value for copier
fset(self, client, value, notify=1)
Set the client's value for this property
 
notify -- if true send a notification event
 
The MFNode tries to update the value's root
attribute to point to the root of the client
*iff* the value doesn't currently point at
a valid root.  (That is, it only updates root
if there is no current root).  This is done
without sending notify events.
vrmlstr(self, value, lineariser)
Convert the given value to a VRML97 representation

Properties inherited from _MFNode:
baseSFNode
exposedField SFNode GeneralSFNode <bound method SFNode
baseSFNode getter = fget(self, client) from SFNode
Get the client's value for this property
 
if notify is true send a notification event.
baseSFNode setter = fset(self, client, value, notify=1) from SFNode
Set the client's value for this property
 
notify -- if true send a notification event
 
The SFNode tries to update the value's root
attribute to point to the root of the client
*iff* the value doesn't currently point at
a valid root.  (That is, it only updates root
if there is no current root).  This is done
without sending notify events.
baseSFNode deleter = fdel(self, client, notify=1) from SFNode
Delete the client's value for this property
 
if notify is true send a notification event.

Data and non-method functions inherited from _MFNode:
__dict__ = <dict-proxy object at 0x07682BB0>
__weakref__ = <member '__weakref__' of '_MFNode' objects>
baseObjectType = <type 'list'>
list() -> new list
list(sequence) -> new list initialized from sequence's items
defaultDefault = <type 'list'>
list() -> new list
list(sequence) -> new list initialized from sequence's items
nodes = 1

Methods inherited from Event:
__init__(self, name, direction=1)
Initialise the field object
 
name -- string name
direction -- 0 == in, 1 == out
__str__(self)
clone(self, name=None, direction=None)
Clone this property
eventVrmlstr(self, lineariser)
Write the event's definition to the lineariser
 
Basically this gives you a VRML97 fragment
which can be used for creating a PROTO which
will have the equivalent of this event available.
typeName(self)
Get the typeName of this field

Methods inherited from object:
__delattr__(...)
x.__delattr__('name') <==> del x.name
__getattribute__(...)
x.__getattribute__('name') <==> x.name
__hash__(...)
x.__hash__() <==> hash(x)
__reduce__(...)
helper for pickle
__repr__(...)
x.__repr__() <==> repr(x)
__setattr__(...)
x.__setattr__('name', value) <==> x.name = value

Data and non-method functions inherited from object:
__class__ = <type 'type'>
__new__ = <built-in method __new__ of type object at 0x1E0BD978>
T.__new__(S, ...) -> a new object with type S, a subtype of T
 
class Node(object)
      A generic scene graph node
 
Unlike earlier versions of the library,
this implementation of the Node class is
basically a regular python class.  This is
possible because it uses the python 2.2.x
property/descriptor API extensively.
 
Technically this is a multiple-hierarchy DAG
node, as there can be any number of node
children attributes, and nodes may appear
multiple times in the hierarchy.
 
Attributes of note:
        " DEF" field
                a simple string field which stores the
                DEF name of a node instance
        " scenegraph" attribute
                pointer to the node's implementation
                scenegraph (at the moment, this is not
                actually used for anything)
        " PROTO" attribute
                stores the PROTO name of the node
        externalURL attribute
                stores the MFString url for the node's
                externproto definition if appropriate
        toString method
                convenience access to the lineariser
                to give VRML97-formatted representation of
                the node
 
   Methods defined here:
__init__(self, **namedarguments)
Initialise the node with appropriate named args
 
All properties/attributes must be specified with
named arguments, and the property/attribute must
exist within the Node's class/prototype.
 
This will raise AttributeError/ValueError/TypeError
if the values or the property names are inappropriate.
 
Note that all Node objects have the attribute/property
        exposedField SFString DEF ""
defined.  You may therefore specify a DEF name by
passing it as a named argument.
__repr__(self)
Get a code-like representation of the Node
 
Basically every attribute except for sub-nodes values
are returned as a full representation.
__str__(self)
Get a friendly representation of the Node
copy(self, copier=None)
Copy this node for copier
toString(self, **namedargs)
Generate a VRML 97-syntax string representing this Prototype
**namedargs -- key:value
        passed arguments for the linearisation object
see lineariser4.Lineariser

Properties defined here:
DEF
exposedField SFString  DEF 
DEF getter = fget(self, client) from SFString
Get the client's value for this property
 
if notify is true send a notification event.
DEF setter = fset(self, client, value, notify=1) from SFString
Set the client's value for this property
 
if notify is true send a notification event.
DEF deleter = fdel(self, client, notify=1) from SFString
Delete the client's value for this property
 
if notify is true send a notification event.
rootSceneGraph
exposedField WeakSFNode  root NULL
rootSceneGraph getter = fget(self, client) from WeakSFNode
Get the client's value for this property
 
if notify is true send a notification event.
rootSceneGraph setter = fset(self, client, value, notify=1) from WeakSFNode
Set the client's value for this property
 
notify -- if true send a notification event
 
The SFNode tries to update the value's root
attribute to point to the root of the client
*iff* the value doesn't currently point at
a valid root.  (That is, it only updates root
if there is no current root).  This is done
without sending notify events.
rootSceneGraph deleter = fdel(self, client, notify=1) from WeakSFNode
Delete the client's value for this property
 
if notify is true send a notification event.

Data and non-method functions defined here:
PROTO = ''
__dict__ = <dict-proxy object at 0x07367820>
__doc__ = 'A generic scene graph node\n\n\tUnlike earlier vers... VRML97-formatted representation of\n\t\t\tthe node\n\t'
__module__ = 'vrml.node'
__weakref__ = <member '__weakref__' of 'Node' objects>
externalURL = ()

Methods inherited from object:
__delattr__(...)
x.__delattr__('name') <==> del x.name
__getattribute__(...)
x.__getattribute__('name') <==> x.name
__hash__(...)
x.__hash__() <==> hash(x)
__reduce__(...)
helper for pickle
__setattr__(...)
x.__setattr__('name', value) <==> x.name = value

Data and non-method functions inherited from object:
__class__ = <type 'type'>
__new__ = <built-in method __new__ of type object at 0x1E0BD978>
T.__new__(S, ...) -> a new object with type S, a subtype of T
 
class NullNode(Node)
      NULL SFNode value
There should only be a single NULL instance for
any particular system.  It should, for all intents and
purposes just sit there inertly
 
  
Method resolution order:
NullNode
Node
object

Methods defined here:
__eq__(self, other)
__nonzero__(self)
__repr__ = __str__(self)
__str__(self)
clone(self)

Data and non-method functions defined here:
PROTO = 'NULL'
__doc__ = 'NULL SFNode value\n\tThere should only be a single...ll intents and\n\tpurposes just sit there inertly\n\t'
__module__ = 'vrml.node'

Methods inherited from Node:
__init__(self, **namedarguments)
Initialise the node with appropriate named args
 
All properties/attributes must be specified with
named arguments, and the property/attribute must
exist within the Node's class/prototype.
 
This will raise AttributeError/ValueError/TypeError
if the values or the property names are inappropriate.
 
Note that all Node objects have the attribute/property
        exposedField SFString DEF ""
defined.  You may therefore specify a DEF name by
passing it as a named argument.
copy(self, copier=None)
Copy this node for copier
toString(self, **namedargs)
Generate a VRML 97-syntax string representing this Prototype
**namedargs -- key:value
        passed arguments for the linearisation object
see lineariser4.Lineariser

Properties inherited from Node:
DEF
exposedField SFString  DEF 
DEF getter = fget(self, client) from SFString
Get the client's value for this property
 
if notify is true send a notification event.
DEF setter = fset(self, client, value, notify=1) from SFString
Set the client's value for this property
 
if notify is true send a notification event.
DEF deleter = fdel(self, client, notify=1) from SFString
Delete the client's value for this property
 
if notify is true send a notification event.
rootSceneGraph
exposedField WeakSFNode  root NULL
rootSceneGraph getter = fget(self, client) from WeakSFNode
Get the client's value for this property
 
if notify is true send a notification event.
rootSceneGraph setter = fset(self, client, value, notify=1) from WeakSFNode
Set the client's value for this property
 
notify -- if true send a notification event
 
The SFNode tries to update the value's root
attribute to point to the root of the client
*iff* the value doesn't currently point at
a valid root.  (That is, it only updates root
if there is no current root).  This is done
without sending notify events.
rootSceneGraph deleter = fdel(self, client, notify=1) from WeakSFNode
Delete the client's value for this property
 
if notify is true send a notification event.

Data and non-method functions inherited from Node:
__dict__ = <dict-proxy object at 0x0766E338>
__weakref__ = <member '__weakref__' of 'Node' objects>
externalURL = ()

Methods inherited from object:
__delattr__(...)
x.__delattr__('name') <==> del x.name
__getattribute__(...)
x.__getattribute__('name') <==> x.name
__hash__(...)
x.__hash__() <==> hash(x)
__reduce__(...)
helper for pickle
__setattr__(...)
x.__setattr__('name', value) <==> x.name = value

Data and non-method functions inherited from object:
__class__ = <type 'type'>
__new__ = <built-in method __new__ of type object at 0x1E0BD978>
T.__new__(S, ...) -> a new object with type S, a subtype of T
 
class PrototypedNode(object)
      Prototyped node mix-in
 
Note the presence of a " scenegraph" property
for the node created below (due to mutual dependencies).
This is filled by the instantiate method to provide the
actual implementation of the node.
 
   Methods defined here:
__init__(self, *arguments, **namedarguments)
Initialise the node with appropriate named args
 
Also attempts to instantiate the sub-node scenegraph
for the PrototypedNode
instantiate(self)
Make a copy of the class scenegraph-template for this node
 
Also needs to bind IS mappings/routes for the template,
and negotiate not-yet-loaded external prototypes and
the like.
renderedChildren(self, types=None)
Get the rendered children of the scenegraph

Properties defined here:
scenegraph
exposedField SFNode  scenegraph NULL
scenegraph getter = fget(self, client) from SFNode
Get the client's value for this property
 
if notify is true send a notification event.
scenegraph setter = fset(self, client, value, notify=1) from SFNode
Set the client's value for this property
 
notify -- if true send a notification event
 
The SFNode tries to update the value's root
attribute to point to the root of the client
*iff* the value doesn't currently point at
a valid root.  (That is, it only updates root
if there is no current root).  This is done
without sending notify events.
scenegraph deleter = fdel(self, client, notify=1) from SFNode
Delete the client's value for this property
 
if notify is true send a notification event.

Data and non-method functions defined here:
__dict__ = <dict-proxy object at 0x07687870>
__doc__ = 'Prototyped node mix-in\n\n\tNote the presence of a ...provide the\n\tactual implementation of the node.\n\t'
__module__ = 'vrml.node'
__weakref__ = <member '__weakref__' of 'PrototypedNode' objects>

Methods inherited from object:
__delattr__(...)
x.__delattr__('name') <==> del x.name
__getattribute__(...)
x.__getattribute__('name') <==> x.name
__hash__(...)
x.__hash__() <==> hash(x)
__reduce__(...)
helper for pickle
__repr__(...)
x.__repr__() <==> repr(x)
__setattr__(...)
x.__setattr__('name', value) <==> x.name = value
__str__(...)
x.__str__() <==> str(x)

Data and non-method functions inherited from object:
__class__ = <type 'type'>
__new__ = <built-in method __new__ of type object at 0x1E0BD978>
T.__new__(S, ...) -> a new object with type S, a subtype of T
 
class SFNode(_SFNode, Field)
      (Restricted) SFNode type
 
This is the publically available SFNode type,
a sub-class of _SFNode and field.Field
 
  
Method resolution order:
SFNode
_SFNode
Field
property
object

Data and non-method functions defined here:
__doc__ = '(Restricted) SFNode type\n\n\tThis is the publicall...e type,\n\ta sub-class of _SFNode and field.Field\n\t'
__module__ = 'vrml.node'

Methods inherited from _SFNode:
coerce(self, value)
Coerce value to an SFNode reference
defaultDefault(self)
Default SFNode value
fset(self, client, value, notify=1)
Set the client's value for this property
 
notify -- if true send a notification event
 
The SFNode tries to update the value's root
attribute to point to the root of the client
*iff* the value doesn't currently point at
a valid root.  (That is, it only updates root
if there is no current root).  This is done
without sending notify events.
vrmlstr(self, value, lineariser)
Convert the given value to a VRML97 representation

Data and non-method functions inherited from _SFNode:
__dict__ = <dict-proxy object at 0x07684FE0>
__weakref__ = <member '__weakref__' of '_SFNode' objects>
allowNULL = 1
name = 'SFNode'
nodes = 1
requiredTypes = ()

Methods inherited from Field:
__init__(self, name, exposure=1, default=[])
Initialise the field object
 
name -- string name
exposure -- boolean (0/1) indicating whether this is an exposed field
default -- default value for the field
__str__(self)
check(self, value)
Raise ValueError if isn't correct type
copy(self, client=None, copier=None)
Copy this property's value/definition for client node/proto
 
if client is a prototype, copy this field definition
for use in a new prototype.
 
if client is a node, and it has a set value for this
field, then returns copyValue( currentValue )
 
otherwise returns _NULL, a singleton object which
shouldn't turn up anywhere else.
copyValue(self, value, copier=None)
Copy a value for copier
fdel(self, client, notify=1)
Delete the client's value for this property
 
if notify is true send a notification event.
fget(self, client)
Get the client's value for this property
 
if notify is true send a notification event.
fhas(self, client)
Determine whether the client currently has a non-default value
fieldVrmlstr(self, lineariser)
Write the field's definition to the lineariser
 
Basically this gives you a VRML97 fragment
which can be used for creating a PROTO which
will have the equivalent of this field available.
getDefault(self, client=None)
Get the default value of this field
 
if client, set client's attribute to default
without sending a notification event.
typeName(self)
Get the typeName of this field

Methods inherited from property:
__delete__(...)
descr.__delete__(obj)
__get__(...)
descr.__get__(obj[, type]) -> value
__getattribute__(...)
x.__getattribute__('name') <==> x.name
__set__(...)
descr.__set__(obj, value)

Data and non-method functions inherited from property:
__new__ = <built-in method __new__ of type object at 0x1E09F220>
T.__new__(S, ...) -> a new object with type S, a subtype of T

Methods inherited from object:
__delattr__(...)
x.__delattr__('name') <==> del x.name
__hash__(...)
x.__hash__() <==> hash(x)
__reduce__(...)
helper for pickle
__repr__(...)
x.__repr__() <==> repr(x)
__setattr__(...)
x.__setattr__('name', value) <==> x.name = value

Data and non-method functions inherited from object:
__class__ = <type 'type'>
 
class SFNodeEvt(_SFNode, Event)
       
  
Method resolution order:
SFNodeEvt
_SFNode
Event
object

Data and non-method functions defined here:
__doc__ = None
__module__ = 'vrml.node'
fieldType = 'SFNode'

Methods inherited from _SFNode:
coerce(self, value)
Coerce value to an SFNode reference
defaultDefault(self)
Default SFNode value
fset(self, client, value, notify=1)
Set the client's value for this property
 
notify -- if true send a notification event
 
The SFNode tries to update the value's root
attribute to point to the root of the client
*iff* the value doesn't currently point at
a valid root.  (That is, it only updates root
if there is no current root).  This is done
without sending notify events.
vrmlstr(self, value, lineariser)
Convert the given value to a VRML97 representation

Data and non-method functions inherited from _SFNode:
__dict__ = <dict-proxy object at 0x075B47D8>
__weakref__ = <member '__weakref__' of '_SFNode' objects>
allowNULL = 1
name = 'SFNode'
nodes = 1
requiredTypes = ()

Methods inherited from Event:
__init__(self, name, direction=1)
Initialise the field object
 
name -- string name
direction -- 0 == in, 1 == out
__str__(self)
clone(self, name=None, direction=None)
Clone this property
eventVrmlstr(self, lineariser)
Write the event's definition to the lineariser
 
Basically this gives you a VRML97 fragment
which can be used for creating a PROTO which
will have the equivalent of this event available.
typeName(self)
Get the typeName of this field

Methods inherited from object:
__delattr__(...)
x.__delattr__('name') <==> del x.name
__getattribute__(...)
x.__getattribute__('name') <==> x.name
__hash__(...)
x.__hash__() <==> hash(x)
__reduce__(...)
helper for pickle
__repr__(...)
x.__repr__() <==> repr(x)
__setattr__(...)
x.__setattr__('name', value) <==> x.name = value

Data and non-method functions inherited from object:
__class__ = <type 'type'>
__new__ = <built-in method __new__ of type object at 0x1E0BD978>
T.__new__(S, ...) -> a new object with type S, a subtype of T
 
class WeakSFNode(_SFNode, WeakField, Field)
      Weak-referenced SFNode field-type
 
  
Method resolution order:
WeakSFNode
_SFNode
WeakField
Field
property
object

Data and non-method functions defined here:
__doc__ = 'Weak-referenced SFNode field-type'
__module__ = 'vrml.node'
fieldType = 'WeakSFNode'

Methods inherited from _SFNode:
coerce(self, value)
Coerce value to an SFNode reference
defaultDefault(self)
Default SFNode value
fset(self, client, value, notify=1)
Set the client's value for this property
 
notify -- if true send a notification event
 
The SFNode tries to update the value's root
attribute to point to the root of the client
*iff* the value doesn't currently point at
a valid root.  (That is, it only updates root
if there is no current root).  This is done
without sending notify events.
vrmlstr(self, value, lineariser)
Convert the given value to a VRML97 representation

Data and non-method functions inherited from _SFNode:
__dict__ = <dict-proxy object at 0x0734F330>
__weakref__ = <member '__weakref__' of '_SFNode' objects>
allowNULL = 1
name = 'SFNode'
nodes = 1
requiredTypes = ()

Methods inherited from WeakField:
fget(self, client)
Get the client's value for this property
 
if notify is true send a notification event.

Methods inherited from Field:
__init__(self, name, exposure=1, default=[])
Initialise the field object
 
name -- string name
exposure -- boolean (0/1) indicating whether this is an exposed field
default -- default value for the field
__str__(self)
check(self, value)
Raise ValueError if isn't correct type
copy(self, client=None, copier=None)
Copy this property's value/definition for client node/proto
 
if client is a prototype, copy this field definition
for use in a new prototype.
 
if client is a node, and it has a set value for this
field, then returns copyValue( currentValue )
 
otherwise returns _NULL, a singleton object which
shouldn't turn up anywhere else.
copyValue(self, value, copier=None)
Copy a value for copier
fdel(self, client, notify=1)
Delete the client's value for this property
 
if notify is true send a notification event.
fhas(self, client)
Determine whether the client currently has a non-default value
fieldVrmlstr(self, lineariser)
Write the field's definition to the lineariser
 
Basically this gives you a VRML97 fragment
which can be used for creating a PROTO which
will have the equivalent of this field available.
getDefault(self, client=None)
Get the default value of this field
 
if client, set client's attribute to default
without sending a notification event.
typeName(self)
Get the typeName of this field

Methods inherited from property:
__delete__(...)
descr.__delete__(obj)
__get__(...)
descr.__get__(obj[, type]) -> value
__getattribute__(...)
x.__getattribute__('name') <==> x.name
__set__(...)
descr.__set__(obj, value)

Data and non-method functions inherited from property:
__new__ = <built-in method __new__ of type object at 0x1E09F220>
T.__new__(S, ...) -> a new object with type S, a subtype of T

Methods inherited from object:
__delattr__(...)
x.__delattr__('name') <==> del x.name
__hash__(...)
x.__hash__() <==> hash(x)
__reduce__(...)
helper for pickle
__repr__(...)
x.__repr__() <==> repr(x)
__setattr__(...)
x.__setattr__('name', value) <==> x.name = value

Data and non-method functions inherited from object:
__class__ = <type 'type'>
 
class _MFNode(object)
      (Restricted) MFNode field-type-definition
 
   Methods defined here:
coerce(self, value)
Coerce value to an MFNode list-of-objects
copyValue(self, value, copier=None)
Copy a value for copier
fset(self, client, value, notify=1)
Set the client's value for this property
 
notify -- if true send a notification event
 
The MFNode tries to update the value's root
attribute to point to the root of the client
*iff* the value doesn't currently point at
a valid root.  (That is, it only updates root
if there is no current root).  This is done
without sending notify events.
vrmlstr(self, value, lineariser)
Convert the given value to a VRML97 representation

Properties defined here:
baseSFNode
exposedField SFNode GeneralSFNode <bound method SFNode
baseSFNode getter = fget(self, client) from SFNode
Get the client's value for this property
 
if notify is true send a notification event.
baseSFNode setter = fset(self, client, value, notify=1) from SFNode
Set the client's value for this property
 
notify -- if true send a notification event
 
The SFNode tries to update the value's root
attribute to point to the root of the client
*iff* the value doesn't currently point at
a valid root.  (That is, it only updates root
if there is no current root).  This is done
without sending notify events.
baseSFNode deleter = fdel(self, client, notify=1) from SFNode
Delete the client's value for this property
 
if notify is true send a notification event.

Data and non-method functions defined here:
__dict__ = <dict-proxy object at 0x07685348>
__doc__ = '(Restricted) MFNode field-type-definition'
__module__ = 'vrml.node'
__weakref__ = <member '__weakref__' of '_MFNode' objects>
baseObjectType = <type 'list'>
list() -> new list
list(sequence) -> new list initialized from sequence's items
defaultDefault = <type 'list'>
list() -> new list
list(sequence) -> new list initialized from sequence's items
nodes = 1

Methods inherited from object:
__delattr__(...)
x.__delattr__('name') <==> del x.name
__getattribute__(...)
x.__getattribute__('name') <==> x.name
__hash__(...)
x.__hash__() <==> hash(x)
__init__(...)
x.__init__(...) initializes x; see x.__class__.__doc__ for signature
__reduce__(...)
helper for pickle
__repr__(...)
x.__repr__() <==> repr(x)
__setattr__(...)
x.__setattr__('name', value) <==> x.name = value
__str__(...)
x.__str__() <==> str(x)

Data and non-method functions inherited from object:
__class__ = <type 'type'>
__new__ = <built-in method __new__ of type object at 0x1E0BD978>
T.__new__(S, ...) -> a new object with type S, a subtype of T
 
class _SFNode(object)
      Base-class for SFNode-type fields
 
The optionally restricted SFNode field type
allows a node to hold a reference to another node
within the directed acyclic graph.
 
There are two primary attributes:
 
        requiredTypes -- a type or tuple of types that
                are acceptable as values for the field
        allowNULL -- whether to allow the NULL node as
                a value for the field
 
   Methods defined here:
coerce(self, value)
Coerce value to an SFNode reference
defaultDefault(self)
Default SFNode value
fset(self, client, value, notify=1)
Set the client's value for this property
 
notify -- if true send a notification event
 
The SFNode tries to update the value's root
attribute to point to the root of the client
*iff* the value doesn't currently point at
a valid root.  (That is, it only updates root
if there is no current root).  This is done
without sending notify events.
vrmlstr(self, value, lineariser)
Convert the given value to a VRML97 representation

Data and non-method functions defined here:
__dict__ = <dict-proxy object at 0x0735F7A0>
__doc__ = 'Base-class for SFNode-type fields\n\n\tThe optional...allow the NULL node as\n\t\t\ta value for the field\n\t'
__module__ = 'vrml.node'
__weakref__ = <member '__weakref__' of '_SFNode' objects>
allowNULL = 1
name = 'SFNode'
nodes = 1
requiredTypes = ()

Methods inherited from object:
__delattr__(...)
x.__delattr__('name') <==> del x.name
__getattribute__(...)
x.__getattribute__('name') <==> x.name
__hash__(...)
x.__hash__() <==> hash(x)
__init__(...)
x.__init__(...) initializes x; see x.__class__.__doc__ for signature
__reduce__(...)
helper for pickle
__repr__(...)
x.__repr__() <==> repr(x)
__setattr__(...)
x.__setattr__('name', value) <==> x.name = value
__str__(...)
x.__str__() <==> str(x)

Data and non-method functions inherited from object:
__class__ = <type 'type'>
__new__ = <built-in method __new__ of type object at 0x1E0BD978>
T.__new__(S, ...) -> a new object with type S, a subtype of T
 
Functions
            
ismaps(node)
Get the isMaps for the given node
 
Returns a field-name:(sub-node,field) mapping
Not currently functional
prototype(name, fields=(), sceneGraph=None, externalURL=None, baseClasses=(<class 'vrml.node.PrototypedNode'>, <class 'vrml.node.Node'>))
Build a new prototype class
 
name -- string name
fields -- sequence of vrml.field objects
sceneGraph -- the source scenegraph for prototyped nodes
externalURL -- MFString URL or None
baseClasses -- base classes for the new class
 
Data
             ISMAPS = <WeakKeyDictionary at 91110640>
NULL = NULL