Dali 3D User Interface Engine
List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
Dali::Internal::PathConstrainer Class Reference

A PathConstrainer used to constraint properties to a path. More...

#include <path-constrainer-impl.h>

Inheritance diagram for Dali::Internal::PathConstrainer:
Inheritance graph
[legend]
Collaboration diagram for Dali::Internal::PathConstrainer:
Collaboration graph
[legend]

Public Member Functions

void Apply (Property target, Property source, const Vector2 &range, const Vector2 &wrap)
 Applies the path constraint to the target property. More...
 
- Public Member Functions inherited from Dali::Internal::Constrainer
 Constrainer ()
 Constructor. More...
 
virtual ~Constrainer ()
 Virtual destructor. More...
 
virtual const
SceneGraph::PropertyOwner
GetSceneObject () const
 Retrieve the scene-graph object added by this object. More...
 
virtual const
SceneGraph::PropertyBase
GetSceneObjectAnimatableProperty (Property::Index index) const
 Retrieve an animatable property owned by the scene-graph object. More...
 
virtual const PropertyInputImplGetSceneObjectInputProperty (Property::Index index) const
 Retrieve a constraint input-property owned by the scene-graph object. More...
 
virtual void SceneObjectAdded (Object &object)
 Called immediately after the object has created & passed ownership of a scene-graph object. More...
 
virtual void SceneObjectRemoved (Object &object)
 Called shortly before the object sends a message to remove its scene object. More...
 
virtual void ObjectDestroyed (Object &object)
 Called shortly before the object itself is destroyed; no further callbacks will be received. More...
 
void Remove (Dali::Handle &target)
 Removes the constraint in the target object. More...
 
- Public Member Functions inherited from Dali::Internal::Object
 Object ()
 Constructor. More...
 
virtual void AddObserver (Observer &observer)
 Add an observer to the object. More...
 
virtual void RemoveObserver (Observer &observer)
 Remove an observer from the object. More...
 
virtual bool Supports (Capability capability) const
 Query whether an handle supports a given capability. More...
 
virtual unsigned int GetPropertyCount () const
 Query how many properties are provided by an handle. More...
 
virtual std::string GetPropertyName (Property::Index index) const
 Query the name of a property. More...
 
virtual Property::Index GetPropertyIndex (const std::string &name) const
 Query the index of a property. More...
 
virtual bool IsPropertyWritable (Property::Index index) const
 Query whether a property can be set using SetProperty(). More...
 
virtual bool IsPropertyAnimatable (Property::Index index) const
 Query whether a writable property can be the target of an animation or constraint. More...
 
virtual bool IsPropertyAConstraintInput (Property::Index index) const
 Query whether a property can be used as in input to a constraint. More...
 
virtual Property::Type GetPropertyType (Property::Index index) const
 Query the type of a property. More...
 
virtual void SetProperty (Property::Index index, const Property::Value &propertyValue)
 Set the value of an existing property. More...
 
virtual Property::Value GetProperty (Property::Index index) const
 Retrieve a property value. More...
 
virtual void GetPropertyIndices (Property::IndexContainer &indices) const
 Retrieve all the property indices for this object (including custom properties). More...
 
virtual Property::Index RegisterProperty (const std::string &name, const Property::Value &propertyValue)
 Register a new animatable property. More...
 
virtual Property::Index RegisterProperty (const std::string &name, const Property::Value &propertyValue, Property::AccessMode accessMode)
  More...
 
virtual Dali::PropertyNotification AddPropertyNotification (Property::Index index, int componentIndex, const Dali::PropertyCondition &condition)
 Add a property notification to this object. More...
 
virtual void RemovePropertyNotification (Dali::PropertyNotification propertyNotification)
 Remove a property notification from this object. More...
 
virtual void RemovePropertyNotifications ()
 Remove all property notifications from this object. More...
 
void AddUniformMapping (Property::Index propertyIndex, const std::string &uniformName) const
  More...
 
void RemoveUniformMapping (const std::string &uniformName)
  More...
 
void ApplyConstraint (ConstraintBase &constraint)
 Apply a constraint to an Object. More...
 
void RemoveConstraint (ConstraintBase &constraint)
 Remove one constraint from an Object. More...
 
void RemoveConstraints ()
 Remove all constraints from a Object. More...
 
void RemoveConstraints (unsigned int tag)
 Remove all constraints from a Object with a matching tag. More...
 
void SetTypeInfo (const TypeInfo *typeInfo)
 Called by TypeInfo to set the type-info that this object-impl is created by. More...
 
unsigned int CustomPropertyStartIndex ()
 
virtual int GetPropertyComponentIndex (Property::Index index) const
 Query whether the property is a component of a scene-graph property. More...
 
- Public Member Functions inherited from Dali::BaseObject
template<class T >
bool ConnectSignal (ConnectionTrackerInterface *connectionTracker, const std::string &signalName, const T &functor)
 Connects a void() functor to a specified signal. More...
 
bool DoAction (const std::string &actionName, const Property::Map &attributes)
 Perform action on this object with the given action name and attributes. More...
 
const std::string & GetTypeName () const
 Returns the type name for the Handle. More...
 
bool GetTypeInfo (Dali::TypeInfo &info) const
 Returns the type info for the Handle. More...
 
bool DoConnectSignal (ConnectionTrackerInterface *connectionTracker, const std::string &signalName, FunctorDelegate *functorDelegate)
 Not intended for application developers. More...
 
- Public Member Functions inherited from Dali::RefObject
void Reference ()
 Increment the object's reference count. More...
 
void Unreference ()
 Decrement the object's reference count. More...
 
int ReferenceCount ()
 Retrieve the object's reference count. More...
 

Static Public Member Functions

static PathConstrainerNew ()
 Create a new PathConstrainer. More...
 

Protected Member Functions

virtual ~PathConstrainer ()
 virtual destructor More...
 
- Protected Member Functions inherited from Dali::Internal::Constrainer
void Observe (Dali::Handle &handle)
 Adds an object to the list of observed objects. More...
 
- Protected Member Functions inherited from Dali::Internal::Object
virtual ~Object ()
 A reference counted object may only be deleted by calling Unreference() More...
 
void OnSceneObjectAdd ()
 Called immediately by derived classes, after the scene-object has been created & passed to the scene-graph. More...
 
void OnSceneObjectRemove ()
 Called by derived classes, shortly before send a message to remove the scene-object. More...
 
virtual void OnPropertySet (Property::Index index, Property::Value propertyValue)
 For use in derived classes. More...
 
const TypeInfoGetTypeInfo () const
 Retrieves the TypeInfo for this object. More...
 
CustomPropertyMetadataFindCustomProperty (Property::Index index) const
 Helper to find custom property. More...
 
AnimatablePropertyMetadataFindAnimatableProperty (Property::Index index) const
 Helper to find animatable property. More...
 
Property::Index RegisterSceneGraphProperty (const std::string &name, Property::Index index, const Property::Value &propertyValue) const
 Helper to register a scene-graph property. More...
 
AnimatablePropertyMetadataRegisterAnimatableProperty (Property::Index index) const
 Check whether the animatable property is registered already, if not then register one. More...
 
EventThreadServicesGetEventThreadServices ()
 Get the event thread services object - used for sending messages to the scene graph Assert if called from the wrong thread. More...
 
const EventThreadServicesGetEventThreadServices () const
 Get the event thread services object - used for sending messages to the scene graph Assert if called from the wrong thread This is intentionally inline for performance reasons. More...
 
- Protected Member Functions inherited from Dali::BaseObject
 BaseObject ()
 Default constructor. More...
 
virtual ~BaseObject ()
 A reference counted object may only be deleted by calling Unreference(). More...
 
void RegisterObject ()
 Registers the object as created with the Object registry. More...
 
void UnregisterObject ()
 Unregisters the object from Object registry. More...
 
- Protected Member Functions inherited from Dali::RefObject
 RefObject ()
 Default constructor. More...
 
virtual ~RefObject ()
 RefObject is intended as a base class. More...
 
 RefObject (const RefObject &rhs)
 Copy constructor. More...
 
RefObjectoperator= (const RefObject &rhs)
 Assignment operator. More...
 
- Protected Member Functions inherited from Dali::Internal::Object::Observer
virtual ~Observer ()
 Virtual destructor. More...
 

Private Member Functions

virtual unsigned int GetDefaultPropertyCount () const
 Query how many default properties the derived class supports. More...
 
virtual void GetDefaultPropertyIndices (Property::IndexContainer &indices) const
 Retrieve all the indices that are associated with the default properties supported by the derived class. More...
 
virtual const char * GetDefaultPropertyName (Property::Index index) const
 Query how many default properties the derived class supports. More...
 
virtual Property::Index GetDefaultPropertyIndex (const std::string &name) const
 Query the index of a default property. More...
 
virtual bool IsDefaultPropertyWritable (Property::Index index) const
 Query whether a default property is writable. More...
 
virtual bool IsDefaultPropertyAnimatable (Property::Index index) const
 Query whether a default property is animatable. More...
 
virtual bool IsDefaultPropertyAConstraintInput (Property::Index index) const
 Query whether a default property can be used as an input to a constraint. More...
 
virtual Property::Type GetDefaultPropertyType (Property::Index index) const
 Query the type of a default property. More...
 
virtual void SetDefaultProperty (Property::Index index, const Property::Value &propertyValue)
 Set the value of a default property. More...
 
virtual Property::Value GetDefaultProperty (Property::Index index) const
 Retrieve a default property value. More...
 
 PathConstrainer ()
 
 PathConstrainer (const PathConstrainer &)
 
PathConstraineroperator= (const PathConstrainer &rhs)
 

Private Attributes

PathPtr mPath
 The path used in the constraints. More...
 
Vector3 mForward
 Vector in object space which will be aligned with the tangent of the path. More...
 

Additional Inherited Members

- Public Types inherited from Dali::Internal::Object
typedef Dali::Handle::Capability Capability
 

Detailed Description

A PathConstrainer used to constraint properties to a path.

Definition at line 119 of file path-constrainer-impl.h.

Constructor & Destructor Documentation

Dali::Internal::PathConstrainer::~PathConstrainer ( )
protectedvirtual

virtual destructor

Definition at line 59 of file path-constrainer-impl.cpp.

Dali::Internal::PathConstrainer::PathConstrainer ( )
private

Definition at line 53 of file path-constrainer-impl.cpp.

Referenced by New().

Here is the caller graph for this function:

Dali::Internal::PathConstrainer::PathConstrainer ( const PathConstrainer )
private

Member Function Documentation

void Dali::Internal::PathConstrainer::Apply ( Property  target,
Property  source,
const Vector2 range,
const Vector2 wrap 
)
virtual

Applies the path constraint to the target property.

Parameters
[in]targetProperty to be constrained
[in]sourceProperty used as parameter for the path
[in]rangeThe range of values in the source property which will be mapped to [0,1]
[in]wrapWrapping domain. Source property will be wrapped in the domain [wrap.x,wrap.y] before mapping to [0,1]

Implements Dali::Internal::Constrainer.

Definition at line 230 of file path-constrainer-impl.cpp.

References Dali::Constraint::AddSource(), Dali::Constraint::Apply(), Dali::Constraint::Discard, Dali::Handle::GetPropertyType(), mForward, mPath, Dali::Property::object, Dali::Internal::Constrainer::Observe(), Dali::Property::propertyIndex, Dali::Property::ROTATION, Dali::Constraint::SetRemoveAction(), Dali::Constraint::SetTag(), and Dali::Property::VECTOR3.

Here is the call graph for this function:

Property::Value Dali::Internal::PathConstrainer::GetDefaultProperty ( Property::Index  index) const
privatevirtual

Retrieve a default property value.

Parameters
[in]indexThe index of the property.
Returns
The property value.

Reimplemented from Dali::Internal::Constrainer.

Definition at line 117 of file path-constrainer-impl.cpp.

References Dali::Property::Array(), Dali::Property::ARRAY, Dali::PathConstrainer::Property::CONTROL_POINTS, Dali::PathConstrainer::Property::FORWARD, mForward, mPath, Dali::PathConstrainer::Property::POINTS, Dali::VectorBase::Size(), and Dali::Property::Value().

Here is the call graph for this function:

unsigned int Dali::Internal::PathConstrainer::GetDefaultPropertyCount ( ) const
privatevirtual

Query how many default properties the derived class supports.

Returns
The number of default properties.

Reimplemented from Dali::Internal::Constrainer.

Definition at line 63 of file path-constrainer-impl.cpp.

Property::Index Dali::Internal::PathConstrainer::GetDefaultPropertyIndex ( const std::string &  name) const
privatevirtual

Query the index of a default property.

Parameters
[in]nameThe name of the property.
Returns
The index of the property, or Property::INVALID_INDEX if no default property exists with the given name.

Reimplemented from Dali::Internal::Constrainer.

Definition at line 89 of file path-constrainer-impl.cpp.

References Dali::Property::INVALID_INDEX.

void Dali::Internal::PathConstrainer::GetDefaultPropertyIndices ( Property::IndexContainer indices) const
privatevirtual

Retrieve all the indices that are associated with the default properties supported by the derived class.

Returns
A container of default property indices.
Note
The deriving class must not modify the existing elements in the container.

Reimplemented from Dali::Internal::Constrainer.

Definition at line 68 of file path-constrainer-impl.cpp.

References Dali::Vector< T, IsTrivialType >::PushBack(), and Dali::Vector< T, IsTrivialType >::Reserve().

Here is the call graph for this function:

const char * Dali::Internal::PathConstrainer::GetDefaultPropertyName ( Property::Index  index) const
privatevirtual

Query how many default properties the derived class supports.

Returns
The number of default properties.

Reimplemented from Dali::Internal::Constrainer.

Definition at line 78 of file path-constrainer-impl.cpp.

Property::Type Dali::Internal::PathConstrainer::GetDefaultPropertyType ( Property::Index  index) const
privatevirtual

Query the type of a default property.

Parameters
[in]indexThe index of the property.
Returns
The type of the property.

Reimplemented from Dali::Internal::Constrainer.

Definition at line 106 of file path-constrainer-impl.cpp.

References Dali::Property::NONE.

bool Dali::Internal::PathConstrainer::IsDefaultPropertyAConstraintInput ( Property::Index  index) const
privatevirtual

Query whether a default property can be used as an input to a constraint.

Parameters
[in]indexThe index of the property.
Returns
True if the property can be used as an input to a constraint.

Reimplemented from Dali::Internal::Constrainer.

Definition at line 220 of file path-constrainer-impl.cpp.

bool Dali::Internal::PathConstrainer::IsDefaultPropertyAnimatable ( Property::Index  index) const
privatevirtual

Query whether a default property is animatable.

This determines whether the property can be the target of an animation or constraint.

Parameters
[in]indexThe index of the property.
Returns
True if the property is animatable.

Reimplemented from Dali::Internal::Constrainer.

Definition at line 210 of file path-constrainer-impl.cpp.

bool Dali::Internal::PathConstrainer::IsDefaultPropertyWritable ( Property::Index  index) const
privatevirtual

Query whether a default property is writable.

Parameters
[in]indexThe index of the property.
Returns
True if the property is animatable.

Reimplemented from Dali::Internal::Constrainer.

Definition at line 200 of file path-constrainer-impl.cpp.

PathConstrainer * Dali::Internal::PathConstrainer::New ( )
static

Create a new PathConstrainer.

Returns
A smart-pointer to the newly allocated PathConstrainer.

Definition at line 48 of file path-constrainer-impl.cpp.

References PathConstrainer().

Referenced by Dali::PathConstrainer::New().

Here is the call graph for this function:

Here is the caller graph for this function:

PathConstrainer& Dali::Internal::PathConstrainer::operator= ( const PathConstrainer rhs)
private
void Dali::Internal::PathConstrainer::SetDefaultProperty ( Property::Index  index,
const Property::Value propertyValue 
)
privatevirtual

Set the value of a default property.

Precondition
The property types match i.e. propertyValue.GetType() is equal to GetPropertyType(index).
Parameters
[in]indexThe index of the property.
[in]propertyValueThe new value of the property.

Reimplemented from Dali::Internal::Constrainer.

Definition at line 164 of file path-constrainer-impl.cpp.

References Dali::Path::AddControlPoint(), Dali::Path::AddPoint(), Dali::Property::Array(), Dali::PathConstrainer::Property::CONTROL_POINTS, Dali::PathConstrainer::Property::FORWARD, mForward, mPath, and Dali::PathConstrainer::Property::POINTS.

Here is the call graph for this function:

Member Data Documentation

Vector3 Dali::Internal::PathConstrainer::mForward
private

Vector in object space which will be aligned with the tangent of the path.

Definition at line 207 of file path-constrainer-impl.h.

Referenced by Apply(), GetDefaultProperty(), and SetDefaultProperty().

PathPtr Dali::Internal::PathConstrainer::mPath
private

The path used in the constraints.

Definition at line 206 of file path-constrainer-impl.h.

Referenced by Apply(), GetDefaultProperty(), and SetDefaultProperty().


The documentation for this class was generated from the following files:
Dali Docs Home
Read more about Dali