diguyAuthorVisualWaypoint

Generated from diguyAuthorVisualWaypoint.h

DI-Guy API Version 12.5.1

This file was automatically generated from diguyAuthorVisualWaypoint.h. Do not edit this file directly; the changes will be lost.
Includes: diguy_typedefs.h | declspec_diguy.h

Contents:

Alphabetical Index

Link against: libdiguy

Summary:

The diguyAuthorVisualWaypoint class provides an interface for creating supplemental visuals needed for creating DI-Guy scenarios in a Host IG.

Waypoint visuals are used for visualizing waypoints on a character path.

class diguyAuthorVisualWaypoint

Function for setting the create function for waypoint visual subclass objects. This should be called after diguy_author_initialize(), but before any scenario is created of loaded.

class BDI_DECLSPEC_diguy diguyAuthorVisualWaypoint
{
public:
    diguyAuthorVisualMaterial* get_visual_material();
    int get_visible();
    diguyWaypoint* get_waypoint();
    virtual void build();
    virtual void unbuild();
    virtual void update(int update_flags);
    virtual void draw();
    virtual void show();
    virtual void hide();

function diguyAuthorVisualWaypoint::get_visual_material

Prototype:

diguyAuthorVisualMaterial* get_visual_material();
Returns the visual material to be used for rendering this object.

function diguyAuthorVisualWaypoint::get_visible

Prototype:

int get_visible();
Returns 1 if this visual should be visible, else 0.

function diguyAuthorVisualWaypoint::get_waypoint

Prototype:

diguyWaypoint* get_waypoint();
Returns a pointer to the waypoint this visual is associated with. Most of the information needed to create the visual can be retrieved using diguyWaypoint function calls.

Virtual Functions
The functions in this section are all virtual functions that will be called by DI-Guy Author at various times during DI-Guy execution.

Because the functions are all virtual, DI-Guy programmers can create a subclass of this class and override them. Unless otherwise stated, the base class functions do not need to be called.

function diguyAuthorVisualWaypoint::build

Prototype:

virtual void build();
Description:

build() will be called by DI-Guy when it is time for a renderer-specific visual object to be created. All information necessary to build the visual should be available via the Accessor Functions above when this function is called.

It is common for build() and update() to use the same internal, user-written function for creating geometry.

Waypoints are typically represented by relatively complex set of cylinders and cones. The provided reference implementation diguyAuthorVisualWaypoint subclass should be consulted for how to create waypoint visual components.

Immediate Mode:

Immediate mode renderers may override this function to create an object, for example a vertex array, that may be used when draw() is called.

Scene Graph:

Scene graph renderers almost always override this function to create a scene graph node object that is attached to the scene graph and updated when update() is called.

function diguyAuthorVisualWaypoint::unbuild

Prototype:

virtual void unbuild();
Description:

unbuild() will be called by DI-Guy when it is time for a renderer-specific visual object to be destroyed.

In general this function should undo all operations and deallocate all objects created during the build() function call.

function diguyAuthorVisualWaypoint::update

Prototype:

virtual void update(int update_flags);
Description:

update() will be called by DI-Guy when this visual has changed state and needs to be updated in some way.

The update_flags argument will be a value from the diguyAuthorVisualUpdateFlag enumeration:

DIGUY_GRAPHICS_VISUAL_UPDATE_GEOMETRY

The overall geometry of the visual needs to be updated. This means that polygons, lines, and whatever other graphics primitives the visual uses need to be recreated.

DIGUY_GRAPHICS_VISUAL_UPDATE_POSITION

The position and/or orientation of the visual needs to be updated. The overall geometry of the visual (polygons, lines, etc.) remains unchanged, and don't need to be recreated.

If the visual can be relocated via changing the offset of a scene graph node it can save time to not recreate a lot of geometry.

If the visual can't be relocated in such a way, the entire set of geometry used by the visual; essentially, doing the same operation as for DIGUY_GRAPHICS_VISUAL_UPDATE_GEOMETRY.

DIGUY_GRAPHICS_VISUAL_UPDATE_MATERIAL

The material of the visual needs to be updated. This can include color, fill options, line width, etc. The geometry and position of the visual remain the same. The get_visual_material() function should be called to retrieve the updated materials.

For some renderers it can make more sense to just recreate all of the visual geometry with the updated material settings.

DIGUY_GRAPHICS_VISUAL_UPDATE_ALL

All aspects of the visual need to be updated.

function diguyAuthorVisualWaypoint::draw

Prototype:

virtual void draw();
Description:

draw() will be called by DI-Guy when it is time for a renderer-specific visual object to be drawn.

Immediate Mode:

Immediate mode renderers almost always override this function, to draw the visual.

Scene Graph:

Scene graph renderers usually do not override this function, as draw operations are usually taken care of automatically by the scene graph.

function diguyAuthorVisualWaypoint::show

Prototype:

virtual void show();
Description:

show() will be called by DI-Guy if the visibility status of this visual has changed to be visible.

function diguyAuthorVisualWaypoint::hide

Prototype:

virtual void hide();
Description:

hide() will be called by DI-Guy if the visibility status of this visual has changed to be not visible.


Alphabetical Index




Copyright (C) 1992-2012 Boston Dynamics

ALL RIGHTS RESERVED.

These coded instructions, statements, and computer programs contain unpublished proprietary information of Boston Dynamics and are protected by Copyright Laws of the United States. They may not be used, duplicated, or disclosed in any form, in whole or in part, without the prior written consent from Boston Dynamics.

RESTRICTED RIGHTS LEGEND

Use, duplication, or disclosure by the government is subject to restrictions as set forth in FAR 52.227.19(c)(2) or subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Sofware clause at DFARS 252.227-7013 and/or in similar or successor clauses in the FAR, or the DOD or NASA FAR Supplement, or to subparagraphs (c)(1) and (c)(2) of the Commercial Computer Software--Restricted Rights at 48 CFR 52.227-19, as applicable. Unpublished-rights reserved under the Copyright Laws of the United States.

Contractor/Manufacturer is:

Boston Dynamics/78 Fourth Avenue/Waltham MA 02451.