Coin Logo http://www.sim.no
http://www.coin3d.org

SoWWWAnchor Class Reference
[Nodes]

The SoWWWAnchor class adds URL callbacks to the highlighted geometry.

In addition to highlighting geometry under the cursor, the application programmer can set callbacks. It is possible to set one callback for picking, the fetch callback, and one callback for highlighting. More...

#include <Inventor/nodes/SoWWWAnchor.h>

Inheritance diagram for SoWWWAnchor:

SoLocateHighlight SoSeparator SoGroup SoNode SoFieldContainer SoBase

List of all members.

Public Types

enum  Mapping { NONE, POINT }

Public Member Functions

virtual SoType getTypeId (void) const
 SoWWWAnchor (void)
void setFullURLName (const SbString &url)
const SbStringgetFullURLName (void)
virtual void handleEvent (SoHandleEventAction *action)

Static Public Member Functions

static SoType getClassTypeId (void)
static void initClass (void)
static void setFetchURLCallBack (SoWWWAnchorCB *f, void *userData)
static void setHighlightURLCallBack (SoWWWAnchorCB *f, void *userData)

Public Attributes

SoSFString name
SoSFString description
SoSFEnum map

Protected Member Functions

virtual const SoFieldDatagetFieldData (void) const
virtual ~SoWWWAnchor ()
virtual void redrawHighlighted (SoAction *act, SbBool isNowHighlighting)

Static Protected Member Functions

static const SoFieldData ** getFieldDataPtr (void)


Detailed Description

The SoWWWAnchor class adds URL callbacks to the highlighted geometry.

In addition to highlighting geometry under the cursor, the application programmer can set callbacks. It is possible to set one callback for picking, the fetch callback, and one callback for highlighting.

  #Inventor V2.1 ascii
  
  WWWAnchor {
     name "http://www.coin3d.org/Coin/egg.iv"
     description "Easter Egg"
  
     Separator {
        Transform { scaleFactor 0.8 1.2 0.8 }
        Sphere { }
     }
  }
  

FILE FORMAT/DEFAULTS:

    WWWAnchor {
        renderCaching AUTO
        boundingBoxCaching AUTO
        renderCulling AUTO
        pickCulling AUTO
        color 0.3 0.3 0.3
        style EMISSIVE
        mode AUTO
        name "<Undefined URL>"
        description ""
        map NONE
    }

Since:
Inventor 2.1

Member Enumeration Documentation

Enum that says how a picked node's position should be mapped to the URL.

Enumerator:
NONE  The position of the picked node is not mapped to the URL.
POINT  The position of the picked node is mapped to the URL as object space coordinates, adding a parameter string to the end of the URL. To assure that the URL works with all browsers, the coordinates are divided by commas sent as the hex representation.

If a model by the name of sim.wrl resided at www.coin3d.org and the picked point had the coordinates [1.5, 10, 6.77], the resulting URL would be "http://www.coin3d.org/sim.wrl?1.5%2c10%2c6.77".


Constructor & Destructor Documentation

SoWWWAnchor::SoWWWAnchor ( void   ) 

Constructor.

References description, map, name, NONE, and POINT.

SoWWWAnchor::~SoWWWAnchor (  )  [protected, virtual]

Destructor.


Member Function Documentation

SoType SoWWWAnchor::getClassTypeId ( void   )  [static]

This static method returns the SoType object associated with objects of this class.

Reimplemented from SoLocateHighlight.

SoType SoWWWAnchor::getTypeId ( void   )  const [virtual]

Returns the type identification of an object derived from a class inheriting SoBase. This is used for run-time type checking and "downward" casting.

Usage example:

  void foo(SoNode * node)
  {
    if (node->getTypeId() == SoFile::getClassTypeId()) {
      SoFile * filenode = (SoFile *)node;  // safe downward cast, knows the type
    }
    else if (node->getTypeId().isOfType(SoGroup::getClassTypeId())) {
      SoGroup * group = (SoGroup *)node;  // safe downward cast, knows the type
    }
  }

For application programmers wanting to extend the library with new nodes, engines, nodekits, draggers or others: this method needs to be overridden in all subclasses. This is typically done as part of setting up the full type system for extension classes, which is usually accomplished by using the pre-defined macros available through for instance Inventor/nodes/SoSubNode.h (SO_NODE_INIT_CLASS and SO_NODE_CONSTRUCTOR for node classes), Inventor/engines/SoSubEngine.h (for engine classes) and so on.

For more information on writing Coin extensions, see the class documentation of the toplevel superclasses for the various class groups.

Reimplemented from SoLocateHighlight.

const SoFieldData ** SoWWWAnchor::getFieldDataPtr ( void   )  [static, protected]

This API member is considered internal to the library, as it is not likely to be of interest to the application programmer.

Reimplemented from SoLocateHighlight.

const SoFieldData * SoWWWAnchor::getFieldData ( void   )  const [protected, virtual]

Returns a pointer to the class-wide field data storage object for this instance. If no fields are present, returns NULL.

Reimplemented from SoLocateHighlight.

void SoWWWAnchor::initClass ( void   )  [static]

Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.

Reimplemented from SoLocateHighlight.

References SoNode::VRML1.

void SoWWWAnchor::setFullURLName ( const SbString url  ) 

Sets the full URL to url. If this is set, this URL will be used in callbacks instead of the URL set in SoWWWAnchor::name.

See also:
SoWWWAnchor::getFullURLName()

const SbString & SoWWWAnchor::getFullURLName ( void   ) 

Returns the full URL if it's set by SoWWWAnchor::setFullURLName(). Otherwise the contents of SoWWWAnchor::name is returned.

See also:
SoWWWAnchor::setFullURLName()

References SoSFString::getValue(), and name.

Referenced by handleEvent(), and redrawHighlighted().

void SoWWWAnchor::handleEvent ( SoHandleEventAction action  )  [virtual]

Action method for SoHandleEventAction.

Inspects the event data from action, and processes it if it is something which this node should react to.

Nodes influencing relevant state variables for how event handling is done also overrides this method.

Reimplemented from SoLocateHighlight.

References SoMouseButtonEvent::BUTTON1, SoMouseButtonEvent::getClassTypeId(), SoHandleEventAction::getEvent(), getFullURLName(), SoPickedPoint::getObjectPoint(), SoHandleEventAction::getPickedPoint(), SoSFEnum::getValue(), SoLocateHighlight::handleEvent(), SoMouseButtonEvent::isButtonPressEvent(), map, POINT, and SbString::sprintf().

void SoWWWAnchor::setFetchURLCallBack ( SoWWWAnchorCB *  f,
void *  userData 
) [static]

Sets the callback function f that is called when a SoWWWAnchor node is clicked on. This callback can among other things be used to provide a browser with the URL of this node.

The callback will be called with the URL, userData and a pointer to this node as arguments.

void SoWWWAnchor::setHighlightURLCallBack ( SoWWWAnchorCB *  f,
void *  userData 
) [static]

Sets the callback function f that is called when a SoWWWAnchor node is highlighted. This callback can among other things be used to provide the user with a visual clue on which URL the node points to, for example by showing the URL as a string.

The callback will be called with the URL, userData and a pointer to this node as arguments.

void SoWWWAnchor::redrawHighlighted ( SoAction act,
SbBool  isNowHighlighting 
) [protected, virtual]

Calls the highlight callback set up with SoWWWAnchor::setHighlightURLCallBack().

Reimplemented from SoLocateHighlight.

References getFullURLName(), and SoLocateHighlight::redrawHighlighted().


Member Data Documentation

The name of the URL which the anchor points to.

Referenced by getFullURLName(), and SoWWWAnchor().

The description of the URL.

Referenced by SoWWWAnchor().

Enum describing how a node's position should be mapped to the URL.

Referenced by handleEvent(), and SoWWWAnchor().


The documentation for this class was generated from the following files:

Copyright © 1998-2007 by Systems in Motion AS. All rights reserved.

Generated on Mon Feb 23 16:34:11 2009 for Coin by Doxygen. 1.5.8