Main Page | Modules | Namespace List | Class Hierarchy | Class List | Namespace Members | Class Members | Related Pages

openvrml::vrml97_node::visibility_sensor_node Class Reference

VisibilitySensor node instances. More...

Inheritance diagram for openvrml::vrml97_node::visibility_sensor_node:

Inheritance graph
[legend]
Collaboration diagram for openvrml::vrml97_node::visibility_sensor_node:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 visibility_sensor_node (const node_type &type, const scope_ptr &scope)
 Construct.

virtual ~visibility_sensor_node () throw ()
 Destroy.

virtual void render (openvrml::viewer &viewer, rendering_context context)
 Generate visibility events.


Private Member Functions

void process_set_center (const field_value &value, double timestamp) throw (std::bad_cast)
 set_center eventIn handler.

void process_set_enabled (const field_value &value, double timestamp) throw (std::bad_cast)
 set_enabled eventIn handler.

void process_set_size (const field_value &value, double timestamp) throw (std::bad_cast)
 set_size eventIn handler.


Private Attributes

sfvec3f center
 center exposedField.

sfbool enabled
 enabled exposedField.

sfvec3f size
 size exposedField.

sfbool active
 isActive eventOut.

sftime enterTime
 enterTime eventOut.

sftime exitTime
 exitTime eventOut.


Friends

class visibility_sensor_class
 Class object for VisibilitySensor instances.


Detailed Description

VisibilitySensor node instances.


Constructor & Destructor Documentation

openvrml::vrml97_node::visibility_sensor_node::visibility_sensor_node (  const node_type &  type,
const scope_ptr &  scope
) 
 

Construct.

Parameters:
type the node_type associated with the instance.
scope the scope that the new node will belong to.

Member Function Documentation

void openvrml::vrml97_node::visibility_sensor_node::process_set_center (  const field_value &  value,
double  timestamp
)  throw (std::bad_cast) [private]
 

set_center eventIn handler.

Parameters:
value an sfvec3f value.
timestamp the current time.
Exceptions:
std::bad_cast if value is not an sfvec3f.

void openvrml::vrml97_node::visibility_sensor_node::process_set_enabled (  const field_value &  value,
double  timestamp
)  throw (std::bad_cast) [private]
 

set_enabled eventIn handler.

Parameters:
value an sfbool value.
timestamp the current time.
Exceptions:
std::bad_cast if value is not an sfbool.

void openvrml::vrml97_node::visibility_sensor_node::process_set_size (  const field_value &  value,
double  timestamp
)  throw (std::bad_cast) [private]
 

set_size eventIn handler.

Parameters:
value an sfvec3f value.
timestamp the current time.
Exceptions:
std::bad_cast if value is not an sfvec3f.

void openvrml::vrml97_node::visibility_sensor_node::render (  openvrml::viewer &  viewer,
rendering_context  context
)  [virtual]
 

Generate visibility events.

This is in a render() method since the it needs to be computed with respect to the accumulated transformations above it in the scene graph. Move to update() when xforms are accumulated in Groups...

Reimplemented from openvrml::node.