# Class cocos.actions.basegrid_actions.Grid3DAction

        base_actions.Action --+
                              |
    base_actions.IntervalAction --+
                                  |
                     GridBaseAction --+
                                      |
                                     Grid3DAction

Known Subclasses:
  grid3d_actions.FlipX3D, grid3d_actions.FlipY3D, grid3d_actions.Lens3D, grid3d_actions.Liquid, grid3d_actions.Ripple3D, grid3d_actions.Shaky3D, grid3d_actions.Twirl, grid3d_actions.Waves, grid3d_actions.Waves3D, quadmoveby_actions.QuadMoveBy

Action that does transformations to a 3D grid ( Grid3D )

## Methods

| get_grid(self)
(float, float, float) | get_vertex(self, x, y) Get the current vertex coordinate
(float, float, float) | get_original_vertex(self, x, y) Get the original vertex coordinate.
| set_vertex(self, x, y, v) Set a vertex point is a certain value
| __add__(self, action) sequence operator - concatenates actions action1 + action2 -> action_result where action_result performs as: first do all that action1 would do; then perform all that action2 would do (Inherited from cocos.actions.base_actions.Action)
| __init__(self, *args, **kwargs) dont override - use init (Inherited from cocos.actions.base_actions.Action)
| __mul__(self, other) repeats ntimes the action action * n -> action_result where action result performs as: repeat n times the changes that action would do (Inherited from cocos.actions.base_actions.IntervalAction)
| __or__(self, action) spawn operator - runs two actions in parallel action1 | action2 -> action_result (Inherited from cocos.actions.base_actions.Action)
| __reversed__(self) (Inherited from cocos.actions.basegrid_actions.GridBaseAction)
| done(self) When in the worker role, this method is reliable. (Inherited from cocos.actions.base_actions.IntervalAction)
| init(self, grid=`(`4`,` 4`)`, duration=5) Initialize the Grid Action (Inherited from cocos.actions.basegrid_actions.GridBaseAction)
| start(self) External code sets self.target and then calls this method. (Inherited from cocos.actions.basegrid_actions.GridBaseAction)
| step(self, dt) Dont customize this method: it will not be called when in the component role for certain composite actions (like Sequence_IntervalAction). (Inherited from cocos.actions.base_actions.IntervalAction)
| stop(self) When the action must cease to perform this function is called by external code; after this call no other method should be called. (Inherited from cocos.actions.base_actions.Action)
| update(self, t) Gets called on every frame 't' is the time elapsed normalized to [0, 1] If this action takes 5 seconds to execute, `t` will be equal to 0 at 0 seconds. (Inherited from cocos.actions.base_actions.IntervalAction)

## Instance Variables

| target CocosNode object that is the target of the action (Inherited from cocos.actions.base_actions.Action)

## Method Details

### get_vertex

get_vertex(self, x, y)
Get the current vertex coordinate

Parameters:
  x : int
    x-vertex
  y : int
    y-vertex
Returns: (float, float, float)

### get_original_vertex

get_original_vertex(self, x, y)
Get the original vertex coordinate. The original vertices are the ones weren't modified by the current action.

Parameters:
  x : int
    x-vertex
  y : int
    y-vertex
Returns: (float, float, float)

### set_vertex

set_vertex(self, x, y, v)
Set a vertex point is a certain value

Parameters:
  x : int
    x-vertex
  y : int
    y-vertex
  v : (float, float, float)
    tuple value for the vertex