Cocos2d-x  v3.12
All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Groups
DrawNode Class Reference

Node that draws dots, segments and polygons. More...

Inherits Node.

Inherited by PhysicsDebugNode.

Public Member Functions

void drawPoint (const Vec2 &point, const float pointSize, const Color4F &color)
 Draw a point. More...
 
void drawPoints (const Vec2 *position, unsigned int numberOfPoints, const Color4F &color)
 Draw a group point. More...
 
void drawPoints (const Vec2 *position, unsigned int numberOfPoints, const float pointSize, const Color4F &color)
 Draw a group point. More...
 
void drawLine (const Vec2 &origin, const Vec2 &destination, const Color4F &color)
 Draw an line from origin to destination with color. More...
 
void drawRect (const Vec2 &origin, const Vec2 &destination, const Color4F &color)
 Draws a rectangle given the origin and destination point measured in points. More...
 
void drawPoly (const Vec2 *poli, unsigned int numberOfPoints, bool closePolygon, const Color4F &color)
 Draws a polygon given a pointer to point coordinates and the number of vertices measured in points. More...
 
void drawCircle (const Vec2 &center, float radius, float angle, unsigned int segments, bool drawLineToCenter, float scaleX, float scaleY, const Color4F &color)
 Draws a circle given the center, radius, number of segments and a border color. More...
 
void drawCircle (const Vec2 &center, float radius, float angle, unsigned int segments, bool drawLineToCenter, const Color4F &color)
 Draws a circle given the center, radius and number of segments. More...
 
void drawQuadBezier (const Vec2 &origin, const Vec2 &control, const Vec2 &destination, unsigned int segments, const Color4F &color)
 Draws a quad bezier path. More...
 
void drawCubicBezier (const Vec2 &origin, const Vec2 &control1, const Vec2 &control2, const Vec2 &destination, unsigned int segments, const Color4F &color)
 Draw a cubic bezier curve with color and number of segments. More...
 
void drawCardinalSpline (PointArray *config, float tension, unsigned int segments, const Color4F &color)
 Draws a Cardinal Spline path. More...
 
void drawCatmullRom (PointArray *points, unsigned int segments, const Color4F &color)
 Draws a Catmull Rom path. More...
 
void drawDot (const Vec2 &pos, float radius, const Color4F &color)
 draw a dot at a position, with a given radius and color. More...
 
void drawRect (const Vec2 &p1, const Vec2 &p2, const Vec2 &p3, const Vec2 &p4, const Color4F &color)
 Draws a rectangle with 4 points. More...
 
void drawSolidRect (const Vec2 &origin, const Vec2 &destination, const Color4F &color)
 Draws a solid rectangle given the origin and destination point measured in points. More...
 
void drawSolidPoly (const Vec2 *poli, unsigned int numberOfPoints, const Color4F &color)
 Draws a solid polygon given with a pointer to coordinates, the number of vertices measured in points, and a color. More...
 
void drawSolidCircle (const Vec2 &center, float radius, float angle, unsigned int segments, float scaleX, float scaleY, const Color4F &color)
 Draws a solid circle given the center, radius and number of segments. More...
 
void drawSolidCircle (const Vec2 &center, float radius, float angle, unsigned int segments, const Color4F &color)
 Draws a solid circle given the center, radius and number of segments. More...
 
void drawSegment (const Vec2 &from, const Vec2 &to, float radius, const Color4F &color)
 draw a segment with a radius and color. More...
 
void drawPolygon (const Vec2 *verts, int count, const Color4F &fillColor, float borderWidth, const Color4F &borderColor)
 draw a polygon with a fill color and line color A pointer to point coordinates. More...
 
void drawTriangle (const Vec2 &p1, const Vec2 &p2, const Vec2 &p3, const Color4F &color)
 draw a triangle with color, the color will fill in the triangle. More...
 
void drawQuadraticBezier (const Vec2 &from, const Vec2 &control, const Vec2 &to, unsigned int segments, const Color4F &color)
 draw a quadratic bezier curve with color and number of segments, use drawQuadBezier instead. More...
 
void clear ()
 Clear the geometry in the node's buffer.
 
const BlendFuncgetBlendFunc () const
 Get the color mixed mode.
 
void setBlendFunc (const BlendFunc &blendFunc)
 Set the color mixed mode.
 
virtual void draw (Renderer *renderer, const Mat4 &transform, uint32_t flags) override
 Override this method to draw your own node. More...
 
float getLineWidth ()
 Get current line width setting.
 
- Public Member Functions inherited from Node
virtual bool isRunning () const
 Returns whether or not the node is "running". More...
 
void scheduleUpdateWithPriorityLua (int handler, int priority)
 Schedules for lua script. More...
 
virtual void cleanup ()
 Stops and removes all running actions and schedulers.
 
virtual void visit (Renderer *renderer, const Mat4 &parentTransform, uint32_t parentFlags)
 Visits this node's children and send their render command recursively. More...
 
virtual ScenegetScene () const
 Returns the Scene that contains the Node. More...
 
virtual Rect getBoundingBox () const
 Returns an AABB (axis-aligned bounding-box) in its parent's coordinate system. More...
 
virtual Rect boundingBox () const
virtual void setEventDispatcher (EventDispatcher *dispatcher)
 Set event dispatcher for node. More...
 
virtual EventDispatchergetEventDispatcher () const
 Get the event dispatcher. More...
 
void setPhysicsBody (PhysicsBody *body)
 Set the PhysicsBody that let the sprite effect with physics. More...
 
PhysicsBodygetPhysicsBody () const
 Get the PhysicsBody the sprite have. More...
 
void removeFromPhysicsWorld ()
 Remove this node from physics world. More...
 
void updateTransformFromPhysics (const Mat4 &parentTransform, uint32_t parentFlags)
 Update the transform matrix from physics.
 
virtual void updatePhysicsBodyTransform (const Mat4 &parentTransform, uint32_t parentFlags, float parentScaleX, float parentScaleY)
 Update physics body transform matrix.
 
virtual GLubyte getOpacity () const
 Return the node's opacity. More...
 
virtual GLubyte getDisplayedOpacity () const
 Return the node's display opacity. More...
 
virtual void setOpacity (GLubyte opacity)
 Change node opacity. More...
 
virtual void updateDisplayedOpacity (GLubyte parentOpacity)
 Update the displayed opacity of node with it's parent opacity;. More...
 
virtual bool isCascadeOpacityEnabled () const
 Whether cascadeOpacity is enabled or not. More...
 
virtual void setCascadeOpacityEnabled (bool cascadeOpacityEnabled)
 Change node's cascadeOpacity property. More...
 
virtual const Color3BgetColor () const
 Query node's color value. More...
 
virtual const Color3BgetDisplayedColor () const
 Query node's displayed color. More...
 
virtual void setColor (const Color3B &color)
 Change the color of node. More...
 
virtual void updateDisplayedColor (const Color3B &parentColor)
 Update node's displayed color with its parent color. More...
 
virtual bool isCascadeColorEnabled () const
 Query whether cascadeColor is enabled or not. More...
 
virtual void setCascadeColorEnabled (bool cascadeColorEnabled)
 If you want node's color affect the children node's color, then set it to true. More...
 
virtual void setOpacityModifyRGB (bool value)
 If you want the opacity affect the color property, then set to true. More...
 
virtual bool isOpacityModifyRGB () const
 If node opacity will modify the RGB color value, then you should override this method and return true. More...
 
void setOnEnterCallback (const std::function< void()> &callback)
 Set the callback of event onEnter. More...
 
const std::function< void()> & getOnEnterCallback () const
 Get the callback of event onEnter. More...
 
void setOnExitCallback (const std::function< void()> &callback)
 Set the callback of event onExit. More...
 
const std::function< void()> & getOnExitCallback () const
 Get the callback of event onExit. More...
 
void setonEnterTransitionDidFinishCallback (const std::function< void()> &callback)
 Set the callback of event EnterTransitionDidFinish. More...
 
const std::function< void()> & getonEnterTransitionDidFinishCallback () const
 Get the callback of event EnterTransitionDidFinish. More...
 
void setonExitTransitionDidStartCallback (const std::function< void()> &callback)
 Set the callback of event ExitTransitionDidStart. More...
 
const std::function< void()> & getonExitTransitionDidStartCallback () const
 Get the callback of event ExitTransitionDidStart. More...
 
unsigned short getCameraMask () const
 get & set camera mask, the node is visible by the camera whose camera flag & node's camera mask is true
 
virtual void setCameraMask (unsigned short mask, bool applyChildren=true)
 Modify the camera mask for current node. More...
 
virtual void setLocalZOrder (int localZOrder)
 LocalZOrder is the 'key' used to sort the node relative to its siblings. More...
 
virtual void setZOrder (int localZOrder)
virtual void _setLocalZOrder (int z)
virtual int getLocalZOrder () const
 Gets the local Z order of this node. More...
 
virtual int getZOrder () const
virtual void setGlobalZOrder (float globalZOrder)
 Defines the oder in which the nodes are renderer. More...
 
virtual float getGlobalZOrder () const
 Returns the Node's Global Z Order. More...
 
virtual void setScaleX (float scaleX)
 Sets the scale (x) of the node. More...
 
virtual float getScaleX () const
 Returns the scale factor on X axis of this node The scale factor on X axis.
 
virtual void setScaleY (float scaleY)
 Sets the scale (y) of the node. More...
 
virtual float getScaleY () const
 Returns the scale factor on Y axis of this node The scale factor on Y axis.
 
virtual void setScaleZ (float scaleZ)
 Changes the scale factor on Z axis of this node. More...
 
virtual float getScaleZ () const
 Returns the scale factor on Z axis of this node The scale factor on Z axis.
 
virtual void setScale (float scale)
 Sets the scale (x,y,z) of the node. More...
 
virtual float getScale () const
 Gets the scale factor of the node, when X and Y have the same scale factor. More...
 
virtual void setScale (float scaleX, float scaleY)
 Sets the scale (x,y) of the node. More...
 
virtual void setPosition (const Vec2 &position)
 Sets the position (x,y) of the node in its parent's coordinate system. More...
 
virtual void setNormalizedPosition (const Vec2 &position)
 Sets the position (x,y) using values between 0 and 1. More...
 
virtual const Vec2getPosition () const
 Gets the position (x,y) of the node in its parent's coordinate system. More...
 
virtual const Vec2getNormalizedPosition () const
 Returns the normalized position. More...
 
virtual void setPosition (float x, float y)
 Sets the position (x,y) of the node in its parent's coordinate system. More...
 
virtual void getPosition (float *x, float *y) const
 Gets position in a more efficient way, returns two number instead of a Vec2 object. More...
 
virtual void setPositionX (float x)
 Sets the x coordinate of the node in its parent's coordinate system. More...
 
virtual float getPositionX (void) const
 Gets the x coordinate of the node in its parent's coordinate system. More...
 
virtual void setPositionY (float y)
 Sets the y coordinate of the node in its parent's coordinate system. More...
 
virtual float getPositionY (void) const
 Gets the y coordinate of the node in its parent's coordinate system. More...
 
virtual void setPosition3D (const Vec3 &position)
 Sets the position (X, Y, and Z) in its parent's coordinate system. More...
 
virtual Vec3 getPosition3D () const
 Returns the position (X,Y,Z) in its parent's coordinate system. More...
 
virtual void setPositionZ (float positionZ)
 Sets the 'z' coordinate in the position. More...
 
virtual void setVertexZ (float vertexZ)
virtual float getPositionZ () const
 Gets position Z coordinate of this node. More...
 
virtual float getVertexZ () const
virtual void setSkewX (float skewX)
 Changes the X skew angle of the node in degrees. More...
 
virtual float getSkewX () const
 Returns the X skew angle of the node in degrees. More...
 
virtual void setSkewY (float skewY)
 Changes the Y skew angle of the node in degrees. More...
 
virtual float getSkewY () const
 Returns the Y skew angle of the node in degrees. More...
 
virtual void setAnchorPoint (const Vec2 &anchorPoint)
 Sets the anchor point in percent. More...
 
virtual const Vec2getAnchorPoint () const
 Returns the anchor point in percent. More...
 
virtual const Vec2getAnchorPointInPoints () const
 Returns the anchorPoint in absolute pixels. More...
 
virtual void setContentSize (const Size &contentSize)
 Sets the untransformed size of the node. More...
 
virtual const SizegetContentSize () const
 Returns the untransformed size of the node. More...
 
virtual void setVisible (bool visible)
 Sets whether the node is visible. More...
 
virtual bool isVisible () const
 Determines if the node is visible. More...
 
virtual void setRotation (float rotation)
 Sets the rotation (angle) of the node in degrees. More...
 
virtual float getRotation () const
 Returns the rotation of the node in degrees. More...
 
virtual void setRotation3D (const Vec3 &rotation)
 Sets the rotation (X,Y,Z) in degrees. More...
 
virtual Vec3 getRotation3D () const
 Returns the rotation (X,Y,Z) in degrees. More...
 
virtual void setRotationQuat (const Quaternion &quat)
 Set rotation by quaternion. More...
 
virtual Quaternion getRotationQuat () const
 Return the rotation by quaternion, Note that when _rotationZ_X == _rotationZ_Y, the returned quaternion equals to RotationZ_X * RotationY * RotationX, The rotation in quaternion.
 
virtual void setRotationSkewX (float rotationX)
 Sets the X rotation (angle) of the node in degrees which performs a horizontal rotational skew. More...
 
virtual void setRotationX (float rotationX)
virtual float getRotationSkewX () const
 Gets the X rotation (angle) of the node in degrees which performs a horizontal rotation skew. More...
 
virtual float getRotationX () const
virtual void setRotationSkewY (float rotationY)
 Sets the Y rotation (angle) of the node in degrees which performs a vertical rotational skew. More...
 
virtual void setRotationY (float rotationY)
virtual float getRotationSkewY () const
 Gets the Y rotation (angle) of the node in degrees which performs a vertical rotational skew. More...
 
virtual float getRotationY () const
void setOrderOfArrival (int orderOfArrival)
 Sets the arrival order when this node has a same ZOrder with other children. More...
 
int getOrderOfArrival () const
 Returns the arrival order, indicates which children is added previously. More...
 
void setGLServerState (int serverState)
int getGLServerState () const
virtual void setIgnoreAnchorPointForPosition (bool ignore)
 Sets whether the anchor point will be (0,0) when you position this node. More...
 
virtual void ignoreAnchorPointForPosition (bool ignore)
virtual bool isIgnoreAnchorPointForPosition () const
 Gets whether the anchor point will be (0,0) when you position this node. More...
 
virtual void addChild (Node *child)
 Adds a child to the container with z-order as 0. More...
 
virtual void addChild (Node *child, int localZOrder)
 Adds a child to the container with a local z-order. More...
 
virtual void addChild (Node *child, int localZOrder, int tag)
 Adds a child to the container with z order and tag. More...
 
virtual void addChild (Node *child, int localZOrder, const std::string &name)
 Adds a child to the container with z order and tag. More...
 
virtual NodegetChildByTag (int tag) const
 Gets a child from the container with its tag. More...
 
template<typename T >
getChildByTag (int tag) const
 Gets a child from the container with its tag that can be cast to Type T. More...
 
var getChildByTag ( var tag)
local getChildByTag ( local tag)
virtual NodegetChildByName (const std::string &name) const
 Gets a child from the container with its name. More...
 
template<typename T >
getChildByName (const std::string &name) const
 Gets a child from the container with its name that can be cast to Type T. More...
 
virtual void enumerateChildren (const std::string &name, std::function< bool(Node *node)> callback) const
 Search the children of the receiving node to perform processing for nodes which share a name. More...
 
virtual Vector< Node * > & getChildren ()
 Returns the array of the node's children. More...
 
virtual const Vector< Node * > & getChildren () const
virtual ssize_t getChildrenCount () const
 Returns the amount of children. More...
 
virtual void setParent (Node *parent)
 Sets the parent node. More...
 
virtual NodegetParent ()
 Returns a pointer to the parent node. More...
 
virtual const NodegetParent () const
virtual void removeFromParent ()
 Removes this node itself from its parent node with a cleanup. More...
 
virtual void removeFromParentAndCleanup (bool cleanup)
 Removes this node itself from its parent node. More...
 
virtual void removeChild (Node *child, bool cleanup=true)
 Removes a child from the container. More...
 
virtual void removeChildByTag (int tag, bool cleanup=true)
 Removes a child from the container by tag value. More...
 
virtual void removeChildByName (const std::string &name, bool cleanup=true)
 Removes a child from the container by tag value. More...
 
virtual void removeAllChildren ()
 Removes all children from the container with a cleanup.
 
virtual void removeAllChildrenWithCleanup (bool cleanup)
 Removes all children from the container, and do a cleanup to all running actions depending on the cleanup parameter. More...
 
virtual void reorderChild (Node *child, int localZOrder)
 Reorders a child according to a new z value. More...
 
virtual void sortAllChildren ()
 Sorts the children array once before drawing, instead of every time when a child is added or reordered. More...
 
virtual int getTag () const
 Returns a tag that is used to identify the node easily. More...
 
virtual void setTag (int tag)
 Changes the tag that is used to identify the node easily. More...
 
virtual const std::string & getName () const
 Returns a string that is used to identify the node. More...
 
virtual void setName (const std::string &name)
 Changes the name that is used to identify the node easily. More...
 
virtual void * getUserData ()
 Returns a custom user data pointer. More...
 
virtual const void * getUserData () const
virtual void setUserData (void *userData)
 Sets a custom user data pointer. More...
 
virtual RefgetUserObject ()
 Returns a user assigned Object. More...
 
virtual const RefgetUserObject () const
virtual void setUserObject (Ref *userObject)
 Returns a user assigned Object. More...
 
GLProgramgetGLProgram () const
 Return the GLProgram (shader) currently used for this node. More...
 
GLProgramgetShaderProgram () const
virtual void setGLProgram (GLProgram *glprogram)
 Sets the shader program for this node. More...
 
void setShaderProgram (GLProgram *glprogram)
GLProgramStategetGLProgramState () const
 Return the GLProgramState currently used for this node. More...
 
virtual void setGLProgramState (GLProgramState *glProgramState)
 Set the GLProgramState for this node. More...
 
virtual void onEnter ()
 Event callback that is invoked every time when Node enters the 'stage'. More...
 
virtual void onEnterTransitionDidFinish ()
 Event callback that is invoked when the Node enters in the 'stage'. More...
 
virtual void onExit ()
 Event callback that is invoked every time the Node leaves the 'stage'. More...
 
virtual void onExitTransitionDidStart ()
 Event callback that is called every time the Node leaves the 'stage'. More...
 
virtual void setActionManager (ActionManager *actionManager)
 Sets the ActionManager object that is used by all actions. More...
 
virtual ActionManagergetActionManager ()
 Gets the ActionManager object that is used by all actions. More...
 
virtual const ActionManagergetActionManager () const
virtual Action * runAction (Action *action)
 Executes an action, and returns the action that is executed. More...
 
void stopAllActions ()
 Stops and removes all actions from the running action list .
 
void stopAction (Action *action)
 Stops and removes an action from the running action list. More...
 
void stopActionByTag (int tag)
 Removes an action from the running action list by its tag. More...
 
void stopAllActionsByTag (int tag)
 Removes all actions from the running action list by its tag. More...
 
void stopActionsByFlags (unsigned int flags)
 Removes all actions from the running action list by its flags. More...
 
Action * getActionByTag (int tag)
 Gets an action from the running action list by its tag. More...
 
ssize_t getNumberOfRunningActions () const
 Returns the numbers of actions that are running plus the ones that are schedule to run (actions in actionsToAdd and actions arrays). More...
 
ssize_t numberOfRunningActions () const
virtual void setScheduler (Scheduler *scheduler)
 Sets a Scheduler object that is used to schedule all "updates" and timers. More...
 
virtual SchedulergetScheduler ()
 Gets a Sheduler object. More...
 
virtual const SchedulergetScheduler () const
bool isScheduled (SEL_SCHEDULE selector)
 Checks whether a selector is scheduled. More...
 
bool isScheduled (const std::string &key)
 Checks whether a lambda function is scheduled. More...
 
void scheduleUpdate (void)
 Schedules the "update" method. More...
 
void scheduleUpdateWithPriority (int priority)
 Schedules the "update" method with a custom priority. More...
 
void unscheduleUpdate (void)
void schedule (SEL_SCHEDULE selector, float interval, unsigned int repeat, float delay)
 Schedules a custom selector. More...
 
void schedule (SEL_SCHEDULE selector, float interval)
 Schedules a custom selector with an interval time in seconds. More...
 
void scheduleOnce (SEL_SCHEDULE selector, float delay)
 Schedules a selector that runs only once, with a delay of 0 or larger The SEL_SCHEDULE selector to be scheduled. More...
 
void scheduleOnce (const std::function< void(float)> &callback, float delay, const std::string &key)
 Schedules a lambda function that runs only once, with a delay of 0 or larger The lambda function to be scheduled. More...
 
void schedule (SEL_SCHEDULE selector)
 Schedules a custom selector, the scheduled selector will be ticked every frame. More...
 
void schedule (const std::function< void(float)> &callback, const std::string &key)
 Schedules a lambda function. More...
 
void schedule (const std::function< void(float)> &callback, float interval, const std::string &key)
 Schedules a lambda function. More...
 
void schedule (const std::function< void(float)> &callback, float interval, unsigned int repeat, float delay, const std::string &key)
 Schedules a lambda function. More...
 
void unschedule (SEL_SCHEDULE selector)
 Unschedules a custom selector. More...
 
void unschedule (const std::string &key)
 Unschedules a lambda function. More...
 
void unscheduleAllCallbacks ()
 Unschedule all scheduled selectors and lambda functions: custom selectors, and the 'update' selector and lambda functions.
 
void unscheduleAllSelectors ()
virtual void resume (void)
 Resumes all scheduled selectors, actions and event listeners. More...
 
virtual void pause (void)
 Pauses all scheduled selectors, actions and event listeners. More...
 
void resumeSchedulerAndActions ()
 Resumes all scheduled selectors, actions and event listeners. More...
 
void pauseSchedulerAndActions ()
 Pauses all scheduled selectors, actions and event listeners. More...
 
virtual void update (float delta)
 Update method will be called automatically every frame if "scheduleUpdate" is called, and the node is "live".
 
virtual void updateTransform ()
 Calls children's updateTransform() method recursively. More...
 
virtual const Mat4getNodeToParentTransform () const
 Returns the matrix that transform the node's (local) space coordinates into the parent's space coordinates. More...
 
virtual AffineTransform getNodeToParentAffineTransform () const
virtual Mat4 getNodeToParentTransform (Node *ancestor) const
 Returns the matrix that transform the node's (local) space coordinates into the parent's space coordinates. More...
 
virtual AffineTransform getNodeToParentAffineTransform (Node *ancestor) const
 Returns the affine transform matrix that transform the node's (local) space coordinates into the parent's space coordinates. More...
 
virtual void setNodeToParentTransform (const Mat4 &transform)
 Sets the transformation matrix manually. More...
 
virtual AffineTransform nodeToParentTransform () const
virtual const Mat4getParentToNodeTransform () const
 Returns the matrix that transform parent's space coordinates to the node's (local) space coordinates. More...
 
virtual AffineTransform getParentToNodeAffineTransform () const
virtual AffineTransform parentToNodeTransform () const
virtual Mat4 getNodeToWorldTransform () const
 Returns the world affine transform matrix. More...
 
virtual AffineTransform getNodeToWorldAffineTransform () const
virtual AffineTransform nodeToWorldTransform () const
virtual Mat4 getWorldToNodeTransform () const
 Returns the inverse world affine transform matrix. More...
 
virtual AffineTransform getWorldToNodeAffineTransform () const
virtual AffineTransform worldToNodeTransform () const
Vec2 convertToNodeSpace (const Vec2 &worldPoint) const
 Converts a Vec2 to node (local) space coordinates. More...
 
Vec2 convertToWorldSpace (const Vec2 &nodePoint) const
 Converts a Vec2 to world space coordinates. More...
 
Vec2 convertToNodeSpaceAR (const Vec2 &worldPoint) const
 Converts a Vec2 to node (local) space coordinates. More...
 
Vec2 convertToWorldSpaceAR (const Vec2 &nodePoint) const
 Converts a local Vec2 to world space coordinates.The result is in Points. More...
 
Vec2 convertTouchToNodeSpace (Touch *touch) const
 Convenience methods which take a Touch instead of Vec2. More...
 
Vec2 convertTouchToNodeSpaceAR (Touch *touch) const
 Converts a Touch (world coordinates) into a local coordinate. More...
 
void setAdditionalTransform (Mat4 *additionalTransform)
 Sets an additional transform matrix to the node. More...
 
void setAdditionalTransform (const Mat4 &additionalTransform)
void setAdditionalTransform (const AffineTransform &additionalTransform)
Component * getComponent (const std::string &name)
 Gets a component by its name. More...
 
virtual bool addComponent (Component *component)
 Adds a component. More...
 
virtual bool removeComponent (const std::string &name)
 Removes a component by its name. More...
 
virtual bool removeComponent (Component *component)
 Removes a component by its pointer. More...
 
virtual void removeAllComponents ()
 Removes all components.
 
virtual std::string getDescription () const
 Gets the description string. More...
 
- Public Member Functions inherited from Ref
void retain ()
 Retains the ownership. More...
 
void release ()
 Releases the ownership immediately. More...
 
Refautorelease ()
 Releases the ownership sometime soon automatically. More...
 
unsigned int getReferenceCount () const
 Returns the Ref's current reference count. More...
 
virtual ~Ref ()
 Destructor.
 

Static Public Member Functions

static DrawNodecreate (int defaultLineWidth=DEFAULT_LINE_WIDTH)
 creates and initialize a DrawNode node. More...
 
- Static Public Member Functions inherited from Node
static Nodecreate ()
 Allocates and initializes a node. More...
 

Additional Inherited Members

- Public Attributes inherited from Ref
unsigned int _ID
 object id, ScriptSupport need public _ID
 
int _luaID
 Lua reference id.
 
void * _scriptObject
 scriptObject, support for swift
 
bool _rooted
 When true, it means that the object was already rooted.
 
bool _scriptOwned
 The life of the object is scrolled by the scripting engine. More...
 
- Static Public Attributes inherited from Node
static const int INVALID_TAG = -1
 Default tag used for all the nodes.
 

Detailed Description

Node that draws dots, segments and polygons.

Faster than the "drawing primitives" since they draws everything in one single batch.

Member Function Documentation

static DrawNode* create ( int  defaultLineWidth = DEFAULT_LINE_WIDTH)
static

creates and initialize a DrawNode node.

Default line width to be used. Return an autorelease object.

void drawPoint ( const Vec2 point,
const float  pointSize,
const Color4F color 
)

Draw a point.

A Vec2 point. The point size. The point color.

void drawPoints ( const Vec2 position,
unsigned int  numberOfPoints,
const Color4F color 
)

Draw a group point.

A Vec2 pointer. The number of points. The point color.

void drawPoints ( const Vec2 position,
unsigned int  numberOfPoints,
const float  pointSize,
const Color4F color 
)

Draw a group point.

A Vec2 pointer. The number of points. The point size. The point color.

void drawLine ( const Vec2 origin,
const Vec2 destination,
const Color4F color 
)

Draw an line from origin to destination with color.

The line origin. The line destination. The line color.

void drawRect ( const Vec2 origin,
const Vec2 destination,
const Color4F color 
)

Draws a rectangle given the origin and destination point measured in points.

The origin and the destination can not have the same x and y coordinate.

The rectangle origin. The rectangle destination. The rectangle color.

void drawPoly ( const Vec2 poli,
unsigned int  numberOfPoints,
bool  closePolygon,
const Color4F color 
)

Draws a polygon given a pointer to point coordinates and the number of vertices measured in points.

The polygon can be closed or open.

A pointer to point coordinates. The number of vertices measured in points. The polygon can be closed or open. The polygon color.

void drawCircle ( const Vec2 center,
float  radius,
float  angle,
unsigned int  segments,
bool  drawLineToCenter,
float  scaleX,
float  scaleY,
const Color4F color 
)

Draws a circle given the center, radius, number of segments and a border color.

The circle center point. The circle rotate of radius. The circle angle. The number of segments. Whether or not draw the line from the origin to center. The scale value in x. The scale value in y. Set the circle color.

void drawCircle ( const Vec2 center,
float  radius,
float  angle,
unsigned int  segments,
bool  drawLineToCenter,
const Color4F color 
)

Draws a circle given the center, radius and number of segments.

The circle center point. The circle rotate of radius. The circle angle. The number of segments. Whether or not draw the line from the origin to center. Set the circle color.

void drawQuadBezier ( const Vec2 origin,
const Vec2 control,
const Vec2 destination,
unsigned int  segments,
const Color4F color 
)

Draws a quad bezier path.

The origin of the bezier path. The control of the bezier path. The destination of the bezier path. The The number of segments. Set the quad bezier color.

void drawCubicBezier ( const Vec2 origin,
const Vec2 control1,
const Vec2 control2,
const Vec2 destination,
unsigned int  segments,
const Color4F color 
)

Draw a cubic bezier curve with color and number of segments.

The origin of the bezier path. The first control of the bezier path. The second control of the bezier path. The destination of the bezier path. The The number of segments. Set the cubic bezier color.

void drawCardinalSpline ( PointArray config,
float  tension,
unsigned int  segments,
const Color4F color 
)

Draws a Cardinal Spline path.

A array point. The tension of the spline. The The number of segments. Set the Spline color.

void drawCatmullRom ( PointArray points,
unsigned int  segments,
const Color4F color 
)

Draws a Catmull Rom path.

A point array of control point. The The number of segments. The Catmull Rom color.

void drawDot ( const Vec2 pos,
float  radius,
const Color4F color 
)

draw a dot at a position, with a given radius and color.

The dot center. The dot radius. The dot color.

void drawRect ( const Vec2 p1,
const Vec2 p2,
const Vec2 p3,
const Vec2 p4,
const Color4F color 
)

Draws a rectangle with 4 points.

The rectangle vertex point. The rectangle vertex point. The rectangle vertex point. The rectangle vertex point. The rectangle color.

void drawSolidRect ( const Vec2 origin,
const Vec2 destination,
const Color4F color 
)

Draws a solid rectangle given the origin and destination point measured in points.

The origin and the destination can not have the same x and y coordinate.

The rectangle origin. The rectangle destination. The rectangle color.

void drawSolidPoly ( const Vec2 poli,
unsigned int  numberOfPoints,
const Color4F color 
)

Draws a solid polygon given with a pointer to coordinates, the number of vertices measured in points, and a color.

A pointer to Vec2 coordinates. The number of vertices measured in points. The solid polygon color.

void drawSolidCircle ( const Vec2 center,
float  radius,
float  angle,
unsigned int  segments,
float  scaleX,
float  scaleY,
const Color4F color 
)

Draws a solid circle given the center, radius and number of segments.

The circle center point. The circle rotate of radius. The circle angle. The number of segments. The scale value in x. The scale value in y. The solid circle color.

void drawSolidCircle ( const Vec2 center,
float  radius,
float  angle,
unsigned int  segments,
const Color4F color 
)

Draws a solid circle given the center, radius and number of segments.

The circle center point. The circle rotate of radius. The circle angle. The number of segments. The solid circle color.

void drawSegment ( const Vec2 from,
const Vec2 to,
float  radius,
const Color4F color 
)

draw a segment with a radius and color.

The segment origin. The segment destination. The segment radius. The segment color.

void drawPolygon ( const Vec2 verts,
int  count,
const Color4F fillColor,
float  borderWidth,
const Color4F borderColor 
)

draw a polygon with a fill color and line color A pointer to point coordinates.

The number of verts measured in points. The color will fill in polygon. The border of line width. The border of line color.

void drawTriangle ( const Vec2 p1,
const Vec2 p2,
const Vec2 p3,
const Color4F color 
)

draw a triangle with color, the color will fill in the triangle.

The triangle vertex point. The triangle vertex point. The triangle vertex point. The triangle color.

void drawQuadraticBezier ( const Vec2 from,
const Vec2 control,
const Vec2 to,
unsigned int  segments,
const Color4F color 
)

draw a quadratic bezier curve with color and number of segments, use drawQuadBezier instead.

The origin of the bezier path. The control of the bezier path. The destination of the bezier path. The The number of segments. The quadratic bezier color.

virtual void draw ( Renderer *  renderer,
const Mat4 transform,
uint32_t  flags 
)
overridevirtual

Override this method to draw your own node.

The following GL states will be enabled by default:

  • glEnableClientState(GL_VERTEX_ARRAY);
  • glEnableClientState(GL_COLOR_ARRAY);
  • glEnableClientState(GL_TEXTURE_COORD_ARRAY);
  • glEnable(GL_TEXTURE_2D); AND YOU SHOULD NOT DISABLE THEM AFTER DRAWING YOUR NODE But if you enable any other GL state, you should disable it after drawing your node.

Reimplemented from Node.

Reimplemented in PhysicsDebugNode.


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