\hypertarget{group__EPhysics__Constraint}{\section{E\-Physics Constraint}
\label{group__EPhysics__Constraint}\index{E\-Physics Constraint@{E\-Physics Constraint}}
}


Constraints can be used to limit bodies movements, between bodies or between bodies and the world.  


\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef struct \-\_\-\-E\-Physics\-\_\-\-Constraint \hyperlink{group__EPhysics__Constraint_ga6cdc4a630836a63a51489b885c09c7e3}{E\-Physics\-\_\-\-Constraint}
\begin{DoxyCompactList}\small\item\em Constraint handle, used to limit bodies movements. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\-A\-P\-I} \hyperlink{group__EPhysics__Constraint_ga6cdc4a630836a63a51489b885c09c7e3}{E\-Physics\-\_\-\-Constraint} $\ast$ \hyperlink{group__EPhysics__Constraint_ga49d1bce8073380c8e085caed3465d7e8}{ephysics\-\_\-constraint\-\_\-linked\-\_\-add} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\-Physics\-\_\-\-Body} $\ast$body1, \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\-Physics\-\_\-\-Body} $\ast$body2)
\begin{DoxyCompactList}\small\item\em Create a new constraint between 2 bodies(\-Point to Point constraint). \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\-A\-P\-I} void \hyperlink{group__EPhysics__Constraint_gac70dbb237de696e0356fc9d7722ba835}{ephysics\-\_\-constraint\-\_\-anchor\-\_\-set} (\hyperlink{group__EPhysics__Constraint_ga6cdc4a630836a63a51489b885c09c7e3}{E\-Physics\-\_\-\-Constraint} $\ast$constraint, Evas\-\_\-\-Coord anchor\-\_\-b1\-\_\-x, Evas\-\_\-\-Coord anchor\-\_\-b1\-\_\-y, Evas\-\_\-\-Coord anchor\-\_\-b1\-\_\-z, Evas\-\_\-\-Coord anchor\-\_\-b2\-\_\-x, Evas\-\_\-\-Coord anchor\-\_\-b2\-\_\-y, Evas\-\_\-\-Coord anchor\-\_\-b2\-\_\-z)
\begin{DoxyCompactList}\small\item\em Change the constraints anchors values on both constrained bodies. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\-A\-P\-I} void \hyperlink{group__EPhysics__Constraint_ga9ebbbae51adaa1f366b09ea8de2411bc}{ephysics\-\_\-constraint\-\_\-anchor\-\_\-get} (const \hyperlink{group__EPhysics__Constraint_ga6cdc4a630836a63a51489b885c09c7e3}{E\-Physics\-\_\-\-Constraint} $\ast$constraint, Evas\-\_\-\-Coord $\ast$anchor\-\_\-b1\-\_\-x, Evas\-\_\-\-Coord $\ast$anchor\-\_\-b1\-\_\-y, Evas\-\_\-\-Coord $\ast$anchor\-\_\-b1\-\_\-z, Evas\-\_\-\-Coord $\ast$anchor\-\_\-b2\-\_\-x, Evas\-\_\-\-Coord $\ast$anchor\-\_\-b2\-\_\-y, Evas\-\_\-\-Coord $\ast$anchor\-\_\-b2\-\_\-z)
\begin{DoxyCompactList}\small\item\em Get the constraints anchors values on both constrained bodies. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\-A\-P\-I} \hyperlink{group__EPhysics__Constraint_ga6cdc4a630836a63a51489b885c09c7e3}{E\-Physics\-\_\-\-Constraint} $\ast$ \hyperlink{group__EPhysics__Constraint_ga50ab20f0f16d79325b9d4377314d8777}{ephysics\-\_\-constraint\-\_\-add} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\-Physics\-\_\-\-Body} $\ast$body)
\begin{DoxyCompactList}\small\item\em Create a new constraint. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\-A\-P\-I} void \hyperlink{group__EPhysics__Constraint_gae526a49233832ea1fad8437fc9aae82b}{ephysics\-\_\-constraint\-\_\-linear\-\_\-limit\-\_\-set} (\hyperlink{group__EPhysics__Constraint_ga6cdc4a630836a63a51489b885c09c7e3}{E\-Physics\-\_\-\-Constraint} $\ast$constraint, Evas\-\_\-\-Coord lower\-\_\-x, Evas\-\_\-\-Coord upper\-\_\-x, Evas\-\_\-\-Coord lower\-\_\-y, Evas\-\_\-\-Coord upper\-\_\-y, Evas\-\_\-\-Coord lower\-\_\-z, Evas\-\_\-\-Coord upper\-\_\-z)
\begin{DoxyCompactList}\small\item\em Define the linear moving limits of a {\ttfamily constraint}. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\-A\-P\-I} void \hyperlink{group__EPhysics__Constraint_ga4b052963235ce41ed3d4f3227393ed1b}{ephysics\-\_\-constraint\-\_\-linear\-\_\-limit\-\_\-get} (const \hyperlink{group__EPhysics__Constraint_ga6cdc4a630836a63a51489b885c09c7e3}{E\-Physics\-\_\-\-Constraint} $\ast$constraint, Evas\-\_\-\-Coord $\ast$lower\-\_\-x, Evas\-\_\-\-Coord $\ast$upper\-\_\-x, Evas\-\_\-\-Coord $\ast$lower\-\_\-y, Evas\-\_\-\-Coord $\ast$upper\-\_\-y, Evas\-\_\-\-Coord $\ast$lower\-\_\-z, Evas\-\_\-\-Coord $\ast$upper\-\_\-z)
\begin{DoxyCompactList}\small\item\em Get the linear moving limits of a {\ttfamily constraint}. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\-A\-P\-I} void \hyperlink{group__EPhysics__Constraint_ga2e6b2b6ede8bb0ae2199c4f2b9fbc8a1}{ephysics\-\_\-constraint\-\_\-angular\-\_\-limit\-\_\-set} (\hyperlink{group__EPhysics__Constraint_ga6cdc4a630836a63a51489b885c09c7e3}{E\-Physics\-\_\-\-Constraint} $\ast$constraint, double counter\-\_\-clock\-\_\-x, double clock\-\_\-wise\-\_\-x, double counter\-\_\-clock\-\_\-y, double clock\-\_\-wise\-\_\-y, double counter\-\_\-clock\-\_\-z, double clock\-\_\-wise\-\_\-z)
\begin{DoxyCompactList}\small\item\em Set the angular moving limits of a {\ttfamily constraint}. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\-A\-P\-I} void \hyperlink{group__EPhysics__Constraint_ga0bb752b6e1c20a094b279be1be1c9a15}{ephysics\-\_\-constraint\-\_\-angular\-\_\-limit\-\_\-get} (const \hyperlink{group__EPhysics__Constraint_ga6cdc4a630836a63a51489b885c09c7e3}{E\-Physics\-\_\-\-Constraint} $\ast$constraint, double $\ast$counter\-\_\-clock\-\_\-x, double $\ast$clock\-\_\-wise\-\_\-x, double $\ast$counter\-\_\-clock\-\_\-y, double $\ast$clock\-\_\-wise\-\_\-y, double $\ast$counter\-\_\-clock\-\_\-z, double $\ast$clock\-\_\-wise\-\_\-z)
\begin{DoxyCompactList}\small\item\em Get the angular moving limits of a {\ttfamily constraint}. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\-A\-P\-I} void \hyperlink{group__EPhysics__Constraint_ga9108a722eb302109e47dd086a1db1fd4}{ephysics\-\_\-constraint\-\_\-del} (\hyperlink{group__EPhysics__Constraint_ga6cdc4a630836a63a51489b885c09c7e3}{E\-Physics\-\_\-\-Constraint} $\ast$constraint)
\begin{DoxyCompactList}\small\item\em Deletes a physics constraint. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Constraints can be used to limit bodies movements, between bodies or between bodies and the world. Constraints can limit movement angle, translation, or work like a motor.

Constraints can be created with \hyperlink{group__EPhysics__Constraint_ga49d1bce8073380c8e085caed3465d7e8}{ephysics\-\_\-constraint\-\_\-linked\-\_\-add()} or \hyperlink{group__EPhysics__Constraint_ga50ab20f0f16d79325b9d4377314d8777}{ephysics\-\_\-constraint\-\_\-add()} and removed with \hyperlink{group__EPhysics__Constraint_ga9108a722eb302109e47dd086a1db1fd4}{ephysics\-\_\-constraint\-\_\-del()}. Can be applied between two bodies or between a body and the world. 

\subsection{Typedef Documentation}
\hypertarget{group__EPhysics__Constraint_ga6cdc4a630836a63a51489b885c09c7e3}{\index{E\-Physics Constraint@{E\-Physics Constraint}!E\-Physics\-\_\-\-Constraint@{E\-Physics\-\_\-\-Constraint}}
\index{E\-Physics\-\_\-\-Constraint@{E\-Physics\-\_\-\-Constraint}!EPhysics Constraint@{E\-Physics Constraint}}
\subsubsection[{E\-Physics\-\_\-\-Constraint}]{\setlength{\rightskip}{0pt plus 5cm}typedef struct \-\_\-\-E\-Physics\-\_\-\-Constraint {\bf E\-Physics\-\_\-\-Constraint}}}\label{group__EPhysics__Constraint_ga6cdc4a630836a63a51489b885c09c7e3}


Constraint handle, used to limit bodies movements. 

Created with \hyperlink{group__EPhysics__Constraint_ga49d1bce8073380c8e085caed3465d7e8}{ephysics\-\_\-constraint\-\_\-linked\-\_\-add()} or \hyperlink{group__EPhysics__Constraint_ga50ab20f0f16d79325b9d4377314d8777}{ephysics\-\_\-constraint\-\_\-add()} and deleted with \hyperlink{group__EPhysics__Constraint_ga9108a722eb302109e47dd086a1db1fd4}{ephysics\-\_\-constraint\-\_\-del()}. 

\subsection{Function Documentation}
\hypertarget{group__EPhysics__Constraint_ga49d1bce8073380c8e085caed3465d7e8}{\index{E\-Physics Constraint@{E\-Physics Constraint}!ephysics\-\_\-constraint\-\_\-linked\-\_\-add@{ephysics\-\_\-constraint\-\_\-linked\-\_\-add}}
\index{ephysics\-\_\-constraint\-\_\-linked\-\_\-add@{ephysics\-\_\-constraint\-\_\-linked\-\_\-add}!EPhysics Constraint@{E\-Physics Constraint}}
\subsubsection[{ephysics\-\_\-constraint\-\_\-linked\-\_\-add}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\-A\-P\-I} {\bf E\-Physics\-\_\-\-Constraint}$\ast$ ephysics\-\_\-constraint\-\_\-linked\-\_\-add (
\begin{DoxyParamCaption}
\item[{{\bf E\-Physics\-\_\-\-Body} $\ast$}]{body1, }
\item[{{\bf E\-Physics\-\_\-\-Body} $\ast$}]{body2}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Constraint_ga49d1bce8073380c8e085caed3465d7e8}


Create a new constraint between 2 bodies(\-Point to Point constraint). 

The constraint will join two bodies({\ttfamily body1} and {\ttfamily body2}) with angular and linear movements limited by calling \hyperlink{group__EPhysics__Constraint_gae526a49233832ea1fad8437fc9aae82b}{ephysics\-\_\-constraint\-\_\-linear\-\_\-limit\-\_\-set()} and \hyperlink{group__EPhysics__Constraint_ga2e6b2b6ede8bb0ae2199c4f2b9fbc8a1}{ephysics\-\_\-constraint\-\_\-angular\-\_\-limit\-\_\-set()}. Anchors values can be defined with \hyperlink{group__EPhysics__Constraint_gac70dbb237de696e0356fc9d7722ba835}{ephysics\-\_\-constraint\-\_\-anchor\-\_\-set()}.


\begin{DoxyParams}{Parameters}
{\em body1} & The first body to apply the constraint. \\
\hline
{\em body2} & The second body to apply the constraint. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A new linked(joining 2 bodies) constraint or {\ttfamily N\-U\-L\-L}, on errors.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See Also}
\hyperlink{group__EPhysics__Constraint_ga9108a722eb302109e47dd086a1db1fd4}{ephysics\-\_\-constraint\-\_\-del()}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\-: ]\par
\hyperlink{test_constraint_8c-example}{test\-\_\-constraint.\-c}.\end{Desc}
\hypertarget{group__EPhysics__Constraint_gac70dbb237de696e0356fc9d7722ba835}{\index{E\-Physics Constraint@{E\-Physics Constraint}!ephysics\-\_\-constraint\-\_\-anchor\-\_\-set@{ephysics\-\_\-constraint\-\_\-anchor\-\_\-set}}
\index{ephysics\-\_\-constraint\-\_\-anchor\-\_\-set@{ephysics\-\_\-constraint\-\_\-anchor\-\_\-set}!EPhysics Constraint@{E\-Physics Constraint}}
\subsubsection[{ephysics\-\_\-constraint\-\_\-anchor\-\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\-A\-P\-I} void ephysics\-\_\-constraint\-\_\-anchor\-\_\-set (
\begin{DoxyParamCaption}
\item[{{\bf E\-Physics\-\_\-\-Constraint} $\ast$}]{constraint, }
\item[{Evas\-\_\-\-Coord}]{anchor\-\_\-b1\-\_\-x, }
\item[{Evas\-\_\-\-Coord}]{anchor\-\_\-b1\-\_\-y, }
\item[{Evas\-\_\-\-Coord}]{anchor\-\_\-b1\-\_\-z, }
\item[{Evas\-\_\-\-Coord}]{anchor\-\_\-b2\-\_\-x, }
\item[{Evas\-\_\-\-Coord}]{anchor\-\_\-b2\-\_\-y, }
\item[{Evas\-\_\-\-Coord}]{anchor\-\_\-b2\-\_\-z}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Constraint_gac70dbb237de696e0356fc9d7722ba835}


Change the constraints anchors values on both constrained bodies. 

\begin{DoxyNote}{Note}
By default the anchors are in the middle of a body, if a body of 20, 20 is positioned at (10, 10) then its anchor is set to (20, 20).

There`s no need to inform {\ttfamily anchor\-\_\-b2\-\_\-x}, {\ttfamily anchor\-\_\-b2\-\_\-y} and {\ttfamily anchor\-\_\-b2\-\_\-z} if the constraint has been created using \hyperlink{group__EPhysics__Constraint_ga50ab20f0f16d79325b9d4377314d8777}{ephysics\-\_\-constraint\-\_\-add()}.
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em constraint} & The constraint to be set. \\
\hline
{\em anchor\-\_\-b1\-\_\-x} & The first body X anchor. \\
\hline
{\em anchor\-\_\-b1\-\_\-y} & The first body Y anchor. \\
\hline
{\em anchor\-\_\-b1\-\_\-z} & The first body Z anchor. \\
\hline
{\em anchor\-\_\-b2\-\_\-x} & The second body X anchor. \\
\hline
{\em anchor\-\_\-b2\-\_\-y} & The second body Y anchor. \\
\hline
{\em anchor\-\_\-b2\-\_\-z} & The second body Z anchor.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See Also}
\hyperlink{group__EPhysics__Constraint_ga9ebbbae51adaa1f366b09ea8de2411bc}{ephysics\-\_\-constraint\-\_\-anchor\-\_\-get()}. 

\hyperlink{group__EPhysics__Constraint_ga49d1bce8073380c8e085caed3465d7e8}{ephysics\-\_\-constraint\-\_\-linked\-\_\-add()}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\-: ]\par
\hyperlink{test_constraint_8c-example}{test\-\_\-constraint.\-c}.\end{Desc}
\hypertarget{group__EPhysics__Constraint_ga9ebbbae51adaa1f366b09ea8de2411bc}{\index{E\-Physics Constraint@{E\-Physics Constraint}!ephysics\-\_\-constraint\-\_\-anchor\-\_\-get@{ephysics\-\_\-constraint\-\_\-anchor\-\_\-get}}
\index{ephysics\-\_\-constraint\-\_\-anchor\-\_\-get@{ephysics\-\_\-constraint\-\_\-anchor\-\_\-get}!EPhysics Constraint@{E\-Physics Constraint}}
\subsubsection[{ephysics\-\_\-constraint\-\_\-anchor\-\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\-A\-P\-I} void ephysics\-\_\-constraint\-\_\-anchor\-\_\-get (
\begin{DoxyParamCaption}
\item[{const {\bf E\-Physics\-\_\-\-Constraint} $\ast$}]{constraint, }
\item[{Evas\-\_\-\-Coord $\ast$}]{anchor\-\_\-b1\-\_\-x, }
\item[{Evas\-\_\-\-Coord $\ast$}]{anchor\-\_\-b1\-\_\-y, }
\item[{Evas\-\_\-\-Coord $\ast$}]{anchor\-\_\-b1\-\_\-z, }
\item[{Evas\-\_\-\-Coord $\ast$}]{anchor\-\_\-b2\-\_\-x, }
\item[{Evas\-\_\-\-Coord $\ast$}]{anchor\-\_\-b2\-\_\-y, }
\item[{Evas\-\_\-\-Coord $\ast$}]{anchor\-\_\-b2\-\_\-z}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Constraint_ga9ebbbae51adaa1f366b09ea8de2411bc}


Get the constraints anchors values on both constrained bodies. 


\begin{DoxyParams}{Parameters}
{\em constraint} & The constraint to get anchor values from. \\
\hline
{\em anchor\-\_\-b1\-\_\-x} & Pointer to an Evas\-\_\-\-Coord in which to store the first body X anchor value. \\
\hline
{\em anchor\-\_\-b1\-\_\-y} & Pointer to an Evas\-\_\-\-Coord in which to store the first body Y anchor value. \\
\hline
{\em anchor\-\_\-b1\-\_\-z} & Pointer to an Evas\-\_\-\-Coord in which to store the first body Z anchor value. \\
\hline
{\em anchor\-\_\-b2\-\_\-x} & Pointer to an Evas\-\_\-\-Coord in which to store the second body X anchor value. \\
\hline
{\em anchor\-\_\-b2\-\_\-y} & Pointer to an Evas\-\_\-\-Coord in which to store the second body Y anchor value. \\
\hline
{\em anchor\-\_\-b2\-\_\-z} & Pointer to an Evas\-\_\-\-Coord in which to store the second body Z anchor value.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See Also}
\hyperlink{group__EPhysics__Constraint_gac70dbb237de696e0356fc9d7722ba835}{ephysics\-\_\-constraint\-\_\-anchor\-\_\-set()}. 

\hyperlink{group__EPhysics__Constraint_ga49d1bce8073380c8e085caed3465d7e8}{ephysics\-\_\-constraint\-\_\-linked\-\_\-add()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Constraint_ga50ab20f0f16d79325b9d4377314d8777}{\index{E\-Physics Constraint@{E\-Physics Constraint}!ephysics\-\_\-constraint\-\_\-add@{ephysics\-\_\-constraint\-\_\-add}}
\index{ephysics\-\_\-constraint\-\_\-add@{ephysics\-\_\-constraint\-\_\-add}!EPhysics Constraint@{E\-Physics Constraint}}
\subsubsection[{ephysics\-\_\-constraint\-\_\-add}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\-A\-P\-I} {\bf E\-Physics\-\_\-\-Constraint}$\ast$ ephysics\-\_\-constraint\-\_\-add (
\begin{DoxyParamCaption}
\item[{{\bf E\-Physics\-\_\-\-Body} $\ast$}]{body}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Constraint_ga50ab20f0f16d79325b9d4377314d8777}


Create a new constraint. 

The constraint will limit the linear and angular moving of a body. This simple constraint is designated to constraint a single body.


\begin{DoxyParams}{Parameters}
{\em body} & The body to apply the constraint.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See Also}
\hyperlink{group__EPhysics__Constraint_gae526a49233832ea1fad8437fc9aae82b}{ephysics\-\_\-constraint\-\_\-linear\-\_\-limit\-\_\-set()} for linear moving limit configuration. 

\hyperlink{group__EPhysics__Constraint_ga2e6b2b6ede8bb0ae2199c4f2b9fbc8a1}{ephysics\-\_\-constraint\-\_\-angular\-\_\-limit\-\_\-set()} for angular moving limit configuration. 
\end{DoxySeeAlso}
\begin{DoxyReturn}{Returns}
A new constraint or {\ttfamily N\-U\-L\-L} on erros.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See Also}
\hyperlink{group__EPhysics__Constraint_ga9108a722eb302109e47dd086a1db1fd4}{ephysics\-\_\-constraint\-\_\-del()}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\-: ]\par
\hyperlink{test_slider_8c-example}{test\-\_\-slider.\-c}.\end{Desc}
\hypertarget{group__EPhysics__Constraint_gae526a49233832ea1fad8437fc9aae82b}{\index{E\-Physics Constraint@{E\-Physics Constraint}!ephysics\-\_\-constraint\-\_\-linear\-\_\-limit\-\_\-set@{ephysics\-\_\-constraint\-\_\-linear\-\_\-limit\-\_\-set}}
\index{ephysics\-\_\-constraint\-\_\-linear\-\_\-limit\-\_\-set@{ephysics\-\_\-constraint\-\_\-linear\-\_\-limit\-\_\-set}!EPhysics Constraint@{E\-Physics Constraint}}
\subsubsection[{ephysics\-\_\-constraint\-\_\-linear\-\_\-limit\-\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\-A\-P\-I} void ephysics\-\_\-constraint\-\_\-linear\-\_\-limit\-\_\-set (
\begin{DoxyParamCaption}
\item[{{\bf E\-Physics\-\_\-\-Constraint} $\ast$}]{constraint, }
\item[{Evas\-\_\-\-Coord}]{lower\-\_\-x, }
\item[{Evas\-\_\-\-Coord}]{upper\-\_\-x, }
\item[{Evas\-\_\-\-Coord}]{lower\-\_\-y, }
\item[{Evas\-\_\-\-Coord}]{upper\-\_\-y, }
\item[{Evas\-\_\-\-Coord}]{lower\-\_\-z, }
\item[{Evas\-\_\-\-Coord}]{upper\-\_\-z}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Constraint_gae526a49233832ea1fad8437fc9aae82b}


Define the linear moving limits of a {\ttfamily constraint}. 

The linear limits are defined from the body's position on. The user will want to limit the movements on X, Y and Z axis where lower == upper axis will be locked, lower $>$ upper axis is free, lower $<$ upper axis is limited to the range.

The unit for every limits are defined on Evas coordinates.


\begin{DoxyParams}{Parameters}
{\em constraint} & The constraint to be set. \\
\hline
{\em lower\-\_\-x} & The lower linear moving limit on X axis. \\
\hline
{\em upper\-\_\-x} & The upper linear moving limit on X axis. \\
\hline
{\em lower\-\_\-y} & The lower linear moving limit on Y axis. \\
\hline
{\em upper\-\_\-y} & The upper linear moving limit on Y axis. \\
\hline
{\em lower\-\_\-z} & The lower linear moving limit on Z axis. \\
\hline
{\em upper\-\_\-z} & The upper linear moving limit on Z axis.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See Also}
\hyperlink{group__EPhysics__Constraint_ga4b052963235ce41ed3d4f3227393ed1b}{ephysics\-\_\-constraint\-\_\-linear\-\_\-limit\-\_\-get()} 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\-: ]\par
\hyperlink{test_slider_8c-example}{test\-\_\-slider.\-c}.\end{Desc}
\hypertarget{group__EPhysics__Constraint_ga4b052963235ce41ed3d4f3227393ed1b}{\index{E\-Physics Constraint@{E\-Physics Constraint}!ephysics\-\_\-constraint\-\_\-linear\-\_\-limit\-\_\-get@{ephysics\-\_\-constraint\-\_\-linear\-\_\-limit\-\_\-get}}
\index{ephysics\-\_\-constraint\-\_\-linear\-\_\-limit\-\_\-get@{ephysics\-\_\-constraint\-\_\-linear\-\_\-limit\-\_\-get}!EPhysics Constraint@{E\-Physics Constraint}}
\subsubsection[{ephysics\-\_\-constraint\-\_\-linear\-\_\-limit\-\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\-A\-P\-I} void ephysics\-\_\-constraint\-\_\-linear\-\_\-limit\-\_\-get (
\begin{DoxyParamCaption}
\item[{const {\bf E\-Physics\-\_\-\-Constraint} $\ast$}]{constraint, }
\item[{Evas\-\_\-\-Coord $\ast$}]{lower\-\_\-x, }
\item[{Evas\-\_\-\-Coord $\ast$}]{upper\-\_\-x, }
\item[{Evas\-\_\-\-Coord $\ast$}]{lower\-\_\-y, }
\item[{Evas\-\_\-\-Coord $\ast$}]{upper\-\_\-y, }
\item[{Evas\-\_\-\-Coord $\ast$}]{lower\-\_\-z, }
\item[{Evas\-\_\-\-Coord $\ast$}]{upper\-\_\-z}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Constraint_ga4b052963235ce41ed3d4f3227393ed1b}


Get the linear moving limits of a {\ttfamily constraint}. 


\begin{DoxyParams}{Parameters}
{\em constraint} & The constraint to get linear limits from. \\
\hline
{\em lower\-\_\-x} & Pointer to set with the lower limit to the X axis. \\
\hline
{\em upper\-\_\-x} & Pointer to set with the upper limit to the X axis. \\
\hline
{\em lower\-\_\-y} & Pointer to set with the lower limit to the Y axis. \\
\hline
{\em upper\-\_\-y} & Pointer to set with the upper limit to the Y axis. \\
\hline
{\em lower\-\_\-z} & Pointer to set with the lower limit to the Z axis. \\
\hline
{\em upper\-\_\-z} & Pointer to set with the upper limit to the Z axis.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See Also}
\hyperlink{group__EPhysics__Constraint_gae526a49233832ea1fad8437fc9aae82b}{ephysics\-\_\-constraint\-\_\-linear\-\_\-limit\-\_\-set()} 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Constraint_ga2e6b2b6ede8bb0ae2199c4f2b9fbc8a1}{\index{E\-Physics Constraint@{E\-Physics Constraint}!ephysics\-\_\-constraint\-\_\-angular\-\_\-limit\-\_\-set@{ephysics\-\_\-constraint\-\_\-angular\-\_\-limit\-\_\-set}}
\index{ephysics\-\_\-constraint\-\_\-angular\-\_\-limit\-\_\-set@{ephysics\-\_\-constraint\-\_\-angular\-\_\-limit\-\_\-set}!EPhysics Constraint@{E\-Physics Constraint}}
\subsubsection[{ephysics\-\_\-constraint\-\_\-angular\-\_\-limit\-\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\-A\-P\-I} void ephysics\-\_\-constraint\-\_\-angular\-\_\-limit\-\_\-set (
\begin{DoxyParamCaption}
\item[{{\bf E\-Physics\-\_\-\-Constraint} $\ast$}]{constraint, }
\item[{double}]{counter\-\_\-clock\-\_\-x, }
\item[{double}]{clock\-\_\-wise\-\_\-x, }
\item[{double}]{counter\-\_\-clock\-\_\-y, }
\item[{double}]{clock\-\_\-wise\-\_\-y, }
\item[{double}]{counter\-\_\-clock\-\_\-z, }
\item[{double}]{clock\-\_\-wise\-\_\-z}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Constraint_ga2e6b2b6ede8bb0ae2199c4f2b9fbc8a1}


Set the angular moving limits of a {\ttfamily constraint}. 

The angular moving limits is defined in degrees and will limit the moving on Z axis -\/ counter clockwise and clockwise directions.


\begin{DoxyParams}{Parameters}
{\em constraint} & The constraint to be set. \\
\hline
{\em counter\-\_\-clock\-\_\-x} & Amount of degrees from 0.\-0 to 360.\-0 to limit counter clockwise rotation on X axis. \\
\hline
{\em clock\-\_\-wise\-\_\-x} & Amount of degrees from 0.\-0 to 360.\-0 to limit clockwise rotation on X axis. \\
\hline
{\em counter\-\_\-clock\-\_\-y} & Amount of degrees from 0.\-0 to 360.\-0 to limit counter clockwise rotation o Y axis. \\
\hline
{\em clock\-\_\-wise\-\_\-y} & Amount of degrees from 0.\-0 to 360.\-0 to limit clockwise rotation on Y axis. \\
\hline
{\em counter\-\_\-clock\-\_\-z} & Amount of degrees from 0.\-0 to 360.\-0 to limit counter clockwise rotation on Z axis. \\
\hline
{\em clock\-\_\-wise\-\_\-z} & Amount of degrees from 0.\-0 to 360.\-0 to limit clockwise rotation on Z axis.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See Also}
\hyperlink{group__EPhysics__Constraint_ga0bb752b6e1c20a094b279be1be1c9a15}{ephysics\-\_\-constraint\-\_\-angular\-\_\-limit\-\_\-get()} 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\-: ]\par
\hyperlink{test_slider_8c-example}{test\-\_\-slider.\-c}.\end{Desc}
\hypertarget{group__EPhysics__Constraint_ga0bb752b6e1c20a094b279be1be1c9a15}{\index{E\-Physics Constraint@{E\-Physics Constraint}!ephysics\-\_\-constraint\-\_\-angular\-\_\-limit\-\_\-get@{ephysics\-\_\-constraint\-\_\-angular\-\_\-limit\-\_\-get}}
\index{ephysics\-\_\-constraint\-\_\-angular\-\_\-limit\-\_\-get@{ephysics\-\_\-constraint\-\_\-angular\-\_\-limit\-\_\-get}!EPhysics Constraint@{E\-Physics Constraint}}
\subsubsection[{ephysics\-\_\-constraint\-\_\-angular\-\_\-limit\-\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\-A\-P\-I} void ephysics\-\_\-constraint\-\_\-angular\-\_\-limit\-\_\-get (
\begin{DoxyParamCaption}
\item[{const {\bf E\-Physics\-\_\-\-Constraint} $\ast$}]{constraint, }
\item[{double $\ast$}]{counter\-\_\-clock\-\_\-x, }
\item[{double $\ast$}]{clock\-\_\-wise\-\_\-x, }
\item[{double $\ast$}]{counter\-\_\-clock\-\_\-y, }
\item[{double $\ast$}]{clock\-\_\-wise\-\_\-y, }
\item[{double $\ast$}]{counter\-\_\-clock\-\_\-z, }
\item[{double $\ast$}]{clock\-\_\-wise\-\_\-z}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Constraint_ga0bb752b6e1c20a094b279be1be1c9a15}


Get the angular moving limits of a {\ttfamily constraint}. 


\begin{DoxyParams}{Parameters}
{\em constraint} & The constraint to get the angular limits from. \\
\hline
{\em counter\-\_\-clock\-\_\-x} & Pointer to set with the counter clockwise limmit degrees on X axis. \\
\hline
{\em clock\-\_\-wise\-\_\-x} & Pointer to set with the clockwise limit degrees on X axis. \\
\hline
{\em counter\-\_\-clock\-\_\-y} & Pointer to set with the counter clockwise limit degrees on Y axis. \\
\hline
{\em clock\-\_\-wise\-\_\-y} & Pointer to set with the clockwise limit degrees on Y axis. \\
\hline
{\em counter\-\_\-clock\-\_\-z} & Pointer to set with the counter clockwise limit degrees on Z axis. \\
\hline
{\em clock\-\_\-wise\-\_\-z} & Pointer to set with the clockwise limit degrees on Z axis.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See Also}
\hyperlink{group__EPhysics__Constraint_ga2e6b2b6ede8bb0ae2199c4f2b9fbc8a1}{ephysics\-\_\-constraint\-\_\-angular\-\_\-limit\-\_\-set()} 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Constraint_ga9108a722eb302109e47dd086a1db1fd4}{\index{E\-Physics Constraint@{E\-Physics Constraint}!ephysics\-\_\-constraint\-\_\-del@{ephysics\-\_\-constraint\-\_\-del}}
\index{ephysics\-\_\-constraint\-\_\-del@{ephysics\-\_\-constraint\-\_\-del}!EPhysics Constraint@{E\-Physics Constraint}}
\subsubsection[{ephysics\-\_\-constraint\-\_\-del}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\-A\-P\-I} void ephysics\-\_\-constraint\-\_\-del (
\begin{DoxyParamCaption}
\item[{{\bf E\-Physics\-\_\-\-Constraint} $\ast$}]{constraint}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Constraint_ga9108a722eb302109e47dd086a1db1fd4}


Deletes a physics constraint. 


\begin{DoxyParams}{Parameters}
{\em constraint} & The constraint to be deleted.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See Also}
\hyperlink{group__EPhysics__Constraint_ga49d1bce8073380c8e085caed3465d7e8}{ephysics\-\_\-constraint\-\_\-linked\-\_\-add()} for more details. 

ephysics\-\_\-constraint\-\_\-slider\-\_\-add() for more details. 
\end{DoxySeeAlso}
