Rogue Wave Views
Prototypes Package API Reference Guide
Product Documentation:

Rogue Wave Views
Documentation Home
List of all members | Public Member Functions
IlvRotationAccessor Class Reference

Behavior to set the rotation angle of a graphic object. More...

#include <ilviews/protos/graphacc.h>

Inheritance diagram for IlvRotationAccessor:
IlvAbstractEventAccessor IlvUserAccessor IlvAccessor

Public Member Functions

 IlvRotationAccessor (const char *name, const char *nodename, const char *angleMin, const char *angleRange, const char *valueMin, const char *valueRange, const char *centerX, const char *centerY, IlBoolean allowInteraction=IlFalse)
 Creates a new rotation accessor. More...
 
virtual IlBoolean changeValue (IlvAccessorHolder *object, const IlvValue &val)
 Called by the method IlvAccessible::changeValue() for each IlvAccessor attached to the IlvAccessorHolder.
 
virtual IlBoolean handleEvent (IlvAccessorHolder *object, IlvGraphic *g, IlvEvent &, IlvView *, IlvTransformer *t)
 Event handling method, to be derived in subclasses. More...
 
virtual void initialize (const IlvAccessorHolder *object)
 Attachment method to an IlvAccessorHolder. More...
 
virtual IlvValuequeryValue (const IlvAccessorHolder *object, IlvValue &val) const
 Called by the method IlvAccessible::queryValue() for each IlvAccessor attached to the IlvAccessorHolder.
 
- Public Member Functions inherited from IlvAbstractEventAccessor
 IlvAbstractEventAccessor (const char *name, const IlvValueTypeClass *type, const char *nodeName)
 Creates an event accessor. More...
 
- Public Member Functions inherited from IlvUserAccessor
 IlvUserAccessor (const char *name, const IlvValueTypeClass *type, IlUInt flags=0)
 Constructor. More...
 
virtual IlBoolean isOutputValue (const IlSymbol *) const
 Queries if the accessor is an output accessor. More...
 
IlBoolean isPrivate () const
 Checks the private status. More...
 
IlBoolean isRuntime () const
 Checks the RunTime status. More...
 
void setPrivate (IlBoolean val)
 Sets the Private flag of this accessor. More...
 
void setRuntime (IlBoolean runTime)
 Sets the RunTime flag of this accessor. More...
 
- Public Member Functions inherited from IlvAccessor
 IlvAccessor (const char *name, IlvValueTypeClass *type)
 Creates a new accessor of name name and type type.
 
virtual IlBoolean changeValues (IlvAccessorHolder *object, const IlvValue *values, IlUShort count)
 Called by the method IlvAccessible::changeValues() for each IlvAccessor attached to the IlvAccessorHolder.
 
virtual void getAccessors (const IlSymbol *const **accessors, const IlvValueTypeClass *const **types, IlUInt &count) const
 Returns the names and types of the values handled by this accessor. More...
 
const IlSymbolgetName () const
 Returns the name of the accessor. More...
 
IlvValueTypeClassgetType () const
 Returns the type of the accessor. More...
 
virtual IlBoolean isOutputAccessor (IlBoolean &inputAndOutput)
 Queries if the accessor is an output accessor. More...
 
virtual IlShort matchValues (const IlvAccessorHolder *object, const IlvValue *values, IlUShort count, IlvValue *matchingValues=0) const
 Returns the number of values that are handled by the accessor in the values array of length count. More...
 
virtual void queryValues (const IlvAccessorHolder *object, IlvValue *values, IlUShort count) const
 Called by the method IlvAccessible::queryValues() for each IlvAccessor attached to the IlvAccessorHolder.
 
void setName (const IlSymbol *name)
 Sets the name of the accessor. More...
 

Additional Inherited Members

- Protected Member Functions inherited from IlvUserAccessor
virtual IlUInt compareValues (const IlvAccessorHolder *object, const IlvAccessible *ref, IlvValue *values, IlUShort count, IlvValueArray &diffs) const
 Compares the values in ref and object and returns the differing values. More...
 
IlBoolean getValue (IlvValue &val, const IlvAccessorHolder *object, IlvDisplay *display, IlvValueTypeClass *typeClass=0, IlSymbol *typeVal=0, const IlvValue *arg=0) const
 Evaluates a parameter of a user accessor. More...
 

Detailed Description

Behavior to set the rotation angle of a graphic object.

Library: ilvproto

IlvRotationAccessor lets you set the rotation angle of an object to a given value. Unlike IlvRotateAccessor, it rotates the object only once when the value is changed. The value is stored every time the rotation angle is set, so setting the value again will rotate the object by the angle corresponding to the delta between the old and the new value. The user can rotate the object interactively by dragging it with the mouse. This usage is deprecated since it makes it difficult to modularize the behaviors according to standard design patterns such as the MVC model.

Constructor & Destructor Documentation

IlvRotationAccessor::IlvRotationAccessor ( const char *  name,
const char *  nodename,
const char *  angleMin,
const char *  angleRange,
const char *  valueMin,
const char *  valueRange,
const char *  centerX,
const char *  centerY,
IlBoolean  allowInteraction = IlFalse 
)

Creates a new rotation accessor.

This accessor includes an IlvValueAccessor of type float that holds the current rotation factor of the node. It is therefore implicitly typed to IlvFloatValueType. angleMin, angleRange, valueMin, valueRange, centerX, and centerY can contain a constant value, the name of another accessor, or an arithmetic expression that can contain accessor names and/or constants (see IlvUserAccessor::getValue).

Parameters
nameName of the attribute.
nodenameIndicates the name of the node to be rotated.
centerXThe x coordinate of the rotation center (you can use the centerX accessor as this parameter).
centerYThe y coordinate of the rotation center (you can use the centerY accessor as this parameter).
angleMinThe minimum angle used to compute the rotation.
angleRangeThe angle range used to compute the rotation.
valueMinThe minimum value used to compute the rotation.
valueRangeThe value range used to compute the rotation.
allowInteractionIf IlTrue, the user can rotate the node interactively by clicking on it and dragging it with the mouse. Otherwise, no interaction is allowed. Using this flag may produce modularization difficulties in the design of your prototype. It is meant to implement very simple prototypes that do not exceed a few accessors.

Member Function Documentation

virtual IlBoolean IlvRotationAccessor::handleEvent ( IlvAccessorHolder object,
IlvGraphic g,
IlvEvent event,
IlvView view,
IlvTransformer t 
)
virtual

Event handling method, to be derived in subclasses.

Called for every event received by one of the nodes specified by the nodeName argument of the constructor. It must be redefined by subclasses to implement the effect of the accessor.

Parameters
objectGroup to which the accessor is attached.
gGraphic object that received the event.
eventEvent received.
viewView in which the event was received.
tTransformer associated with the view, or 0 if the view has no transformer.

Reimplemented from IlvAbstractEventAccessor.

virtual void IlvRotationAccessor::initialize ( const IlvAccessorHolder object)
virtual

Attachment method to an IlvAccessorHolder.

This method is called when the accessor object is attached to a group. You can redefine it in subclasses of IlvUserAccessor to perform any kind of initialization.

Parameters
objectThe object the accessor is attached to.

Reimplemented from IlvAbstractEventAccessor.


© Copyright 2016, Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave is a registered trademark of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.