\hypertarget{group__Evas__Canvas3D__Primitive}{}\section{Primitive Object}
\label{group__Evas__Canvas3D__Primitive}\index{Primitive Object@{Primitive Object}}


A primitive object is an object with necessary data for creating meshes with ptimitive shapes.  


\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef void( \hyperlink{group__Evas__Canvas3D__Primitive_gab508376466295d7fa952cb36e8f64081}{Evas\+\_\+\+Canvas3\+D\+\_\+\+Surface\+\_\+\+Func}) (\hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} $\ast$out\+\_\+x, \hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} $\ast$out\+\_\+y, \hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} $\ast$out\+\_\+z, \hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} a, \hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} b)
\begin{DoxyCompactList}\small\item\em User-\/defined parametric surface function. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
E\+O\+A\+PI void \hyperlink{group__Evas__Canvas3D__Primitive_ga0a319e87d584163e77f2e698123b82e9}{evas\+\_\+canvas3d\+\_\+primitive\+\_\+form\+\_\+set} (Evas\+\_\+\+Canvas3\+D\+\_\+\+Mesh\+\_\+\+Primitive form)
\begin{DoxyCompactList}\small\item\em Set the form of the given primitive. \end{DoxyCompactList}\item 
E\+O\+A\+PI Evas\+\_\+\+Canvas3\+D\+\_\+\+Mesh\+\_\+\+Primitive \hyperlink{group__Evas__Canvas3D__Primitive_ga5ebb865f26cf1a0f36b7a44802445c8c}{evas\+\_\+canvas3d\+\_\+primitive\+\_\+form\+\_\+get} (void)
\begin{DoxyCompactList}\small\item\em Get the form of the given primitive. \end{DoxyCompactList}\item 
E\+O\+A\+PI void \hyperlink{group__Evas__Canvas3D__Primitive_gab0d4c050a2ba9f409fc92d6100ca2201}{evas\+\_\+canvas3d\+\_\+primitive\+\_\+mode\+\_\+set} (Evas\+\_\+\+Canvas3\+D\+\_\+\+Primitive\+\_\+\+Mode mode)
\begin{DoxyCompactList}\small\item\em Set the mode of the given primitive. \end{DoxyCompactList}\item 
E\+O\+A\+PI Evas\+\_\+\+Canvas3\+D\+\_\+\+Primitive\+\_\+\+Mode \hyperlink{group__Evas__Canvas3D__Primitive_ga0d6d5049c98f8a8480a8ea1fed2521a2}{evas\+\_\+canvas3d\+\_\+primitive\+\_\+mode\+\_\+get} (void)
\begin{DoxyCompactList}\small\item\em Get the mode of the given primitive. \end{DoxyCompactList}\item 
E\+O\+A\+PI void \hyperlink{group__Evas__Canvas3D__Primitive_ga8747cb1cf0614374bb9669f4c6c644b5}{evas\+\_\+canvas3d\+\_\+primitive\+\_\+ratio\+\_\+set} (\hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} ratio)
\begin{DoxyCompactList}\small\item\em Set the ratio of the given primitive. \end{DoxyCompactList}\item 
E\+O\+A\+PI \hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} \hyperlink{group__Evas__Canvas3D__Primitive_gaaa17cc4717ece13c6209d85e7ff54b8e}{evas\+\_\+canvas3d\+\_\+primitive\+\_\+ratio\+\_\+get} (void)
\begin{DoxyCompactList}\small\item\em Get the ratio of the given primitive. \end{DoxyCompactList}\item 
E\+O\+A\+PI void \hyperlink{group__Evas__Canvas3D__Primitive_gaaa9d0f59d340f406e3e5a81069571821}{evas\+\_\+canvas3d\+\_\+primitive\+\_\+precision\+\_\+set} (int precision)
\begin{DoxyCompactList}\small\item\em Set the precision of the given primitive. \end{DoxyCompactList}\item 
E\+O\+A\+PI int \hyperlink{group__Evas__Canvas3D__Primitive_gafe447a8a73d97a1905d1c5e060c97b3b}{evas\+\_\+canvas3d\+\_\+primitive\+\_\+precision\+\_\+get} (void)
\begin{DoxyCompactList}\small\item\em Get the precision of the given primitive. \end{DoxyCompactList}\item 
E\+O\+A\+PI void \hyperlink{group__Evas__Canvas3D__Primitive_ga3bf83f0eb7c6045f514d1cc280c42ade}{evas\+\_\+canvas3d\+\_\+primitive\+\_\+surface\+\_\+set} (\hyperlink{group__Evas__Canvas3D__Primitive_gab508376466295d7fa952cb36e8f64081}{Evas\+\_\+\+Canvas3\+D\+\_\+\+Surface\+\_\+\+Func} $\ast$surface)
\begin{DoxyCompactList}\small\item\em Set the surface of the given primitive. \end{DoxyCompactList}\item 
E\+O\+A\+PI void \hyperlink{group__Evas__Canvas3D__Primitive_ga633b2e5f1480dc01536e7573f941c8e4}{evas\+\_\+canvas3d\+\_\+primitive\+\_\+tex\+\_\+scale\+\_\+set} (\hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} tex\+\_\+scale\+\_\+x, \hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} tex\+\_\+scale\+\_\+y)
\begin{DoxyCompactList}\small\item\em Set the texture scale of the given primitive. \end{DoxyCompactList}\item 
E\+O\+A\+PI void \hyperlink{group__Evas__Canvas3D__Primitive_ga9bf448d7391a83353f96ecc2e33752a5}{evas\+\_\+canvas3d\+\_\+primitive\+\_\+tex\+\_\+scale\+\_\+get} (\hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} $\ast$tex\+\_\+scale\+\_\+x, \hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} $\ast$tex\+\_\+scale\+\_\+y)
\begin{DoxyCompactList}\small\item\em Get the texture scale of the given primitive. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
A primitive object is an object with necessary data for creating meshes with ptimitive shapes. 

Data from a primitive can be set to Evas\+\_\+\+Canvas3\+D\+\_\+\+Mesh by using \hyperlink{group__Evas__Canvas3D__Mesh_ga438f3b6480aad5f906ed9bba60b2a999}{evas\+\_\+canvas3d\+\_\+mesh\+\_\+from\+\_\+primitive\+\_\+set()} function. 

\subsection{Typedef Documentation}
\index{Primitive Object@{Primitive Object}!Evas\+\_\+\+Canvas3\+D\+\_\+\+Surface\+\_\+\+Func@{Evas\+\_\+\+Canvas3\+D\+\_\+\+Surface\+\_\+\+Func}}
\index{Evas\+\_\+\+Canvas3\+D\+\_\+\+Surface\+\_\+\+Func@{Evas\+\_\+\+Canvas3\+D\+\_\+\+Surface\+\_\+\+Func}!Primitive Object@{Primitive Object}}
\subsubsection[{\texorpdfstring{Evas\+\_\+\+Canvas3\+D\+\_\+\+Surface\+\_\+\+Func}{Evas_Canvas3D_Surface_Func}}]{\setlength{\rightskip}{0pt plus 5cm}Evas\+\_\+\+Canvas3\+D\+\_\+\+Surface\+\_\+\+Func}\hypertarget{group__Evas__Canvas3D__Primitive_gab508376466295d7fa952cb36e8f64081}{}\label{group__Evas__Canvas3D__Primitive_gab508376466295d7fa952cb36e8f64081}


User-\/defined parametric surface function. 

Used for easy creation of custom surfaces as a primitive.

\begin{DoxySince}{Since}
1.\+15 
\end{DoxySince}


\subsection{Function Documentation}
\index{Primitive Object@{Primitive Object}!evas\+\_\+canvas3d\+\_\+primitive\+\_\+form\+\_\+set@{evas\+\_\+canvas3d\+\_\+primitive\+\_\+form\+\_\+set}}
\index{evas\+\_\+canvas3d\+\_\+primitive\+\_\+form\+\_\+set@{evas\+\_\+canvas3d\+\_\+primitive\+\_\+form\+\_\+set}!Primitive Object@{Primitive Object}}
\subsubsection[{\texorpdfstring{evas\+\_\+canvas3d\+\_\+primitive\+\_\+form\+\_\+set(\+Evas\+\_\+\+Canvas3\+D\+\_\+\+Mesh\+\_\+\+Primitive form)}{evas_canvas3d_primitive_form_set(Evas_Canvas3D_Mesh_Primitive form)}}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+PI void evas\+\_\+canvas3d\+\_\+primitive\+\_\+form\+\_\+set (
\begin{DoxyParamCaption}
\item[{Evas\+\_\+\+Canvas3\+D\+\_\+\+Mesh\+\_\+\+Primitive}]{form}
\end{DoxyParamCaption}
)}\hypertarget{group__Evas__Canvas3D__Primitive_ga0a319e87d584163e77f2e698123b82e9}{}\label{group__Evas__Canvas3D__Primitive_ga0a319e87d584163e77f2e698123b82e9}


Set the form of the given primitive. 

Form defines which function will be chosen to set data to mesh on call of evas\+\_\+canvas3d\+\_\+mesh\+\_\+primitive\+\_\+set.

Now available next forms of primitives are tabulated primitives (S\+Q\+U\+A\+RE and C\+U\+BE), solids of revolution (C\+Y\+L\+I\+N\+D\+ER, C\+O\+NE, S\+P\+H\+E\+RE and T\+O\+R\+US) and surfaces (S\+U\+R\+F\+A\+CE and T\+E\+R\+R\+A\+IN).

Default form is E\+V\+A\+S\+\_\+\+C\+A\+N\+V\+A\+S3\+D\+\_\+\+M\+E\+S\+H\+\_\+\+P\+R\+I\+M\+I\+T\+I\+V\+E\+\_\+\+N\+O\+NE.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em form} & Form of primitive. \\
\hline
\end{DoxyParams}
\index{Primitive Object@{Primitive Object}!evas\+\_\+canvas3d\+\_\+primitive\+\_\+form\+\_\+get@{evas\+\_\+canvas3d\+\_\+primitive\+\_\+form\+\_\+get}}
\index{evas\+\_\+canvas3d\+\_\+primitive\+\_\+form\+\_\+get@{evas\+\_\+canvas3d\+\_\+primitive\+\_\+form\+\_\+get}!Primitive Object@{Primitive Object}}
\subsubsection[{\texorpdfstring{evas\+\_\+canvas3d\+\_\+primitive\+\_\+form\+\_\+get(void)}{evas_canvas3d_primitive_form_get(void)}}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+PI Evas\+\_\+\+Canvas3\+D\+\_\+\+Mesh\+\_\+\+Primitive evas\+\_\+canvas3d\+\_\+primitive\+\_\+form\+\_\+get (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}\hypertarget{group__Evas__Canvas3D__Primitive_ga5ebb865f26cf1a0f36b7a44802445c8c}{}\label{group__Evas__Canvas3D__Primitive_ga5ebb865f26cf1a0f36b7a44802445c8c}


Get the form of the given primitive. 

See also \hyperlink{group__Evas__Canvas3D__Primitive_ga0a319e87d584163e77f2e698123b82e9}{evas\+\_\+canvas3d\+\_\+primitive\+\_\+form\+\_\+set}.

\begin{DoxyReturn}{Returns}
Form of primitive. 
\end{DoxyReturn}
\index{Primitive Object@{Primitive Object}!evas\+\_\+canvas3d\+\_\+primitive\+\_\+mode\+\_\+set@{evas\+\_\+canvas3d\+\_\+primitive\+\_\+mode\+\_\+set}}
\index{evas\+\_\+canvas3d\+\_\+primitive\+\_\+mode\+\_\+set@{evas\+\_\+canvas3d\+\_\+primitive\+\_\+mode\+\_\+set}!Primitive Object@{Primitive Object}}
\subsubsection[{\texorpdfstring{evas\+\_\+canvas3d\+\_\+primitive\+\_\+mode\+\_\+set(\+Evas\+\_\+\+Canvas3\+D\+\_\+\+Primitive\+\_\+\+Mode mode)}{evas_canvas3d_primitive_mode_set(Evas_Canvas3D_Primitive_Mode mode)}}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+PI void evas\+\_\+canvas3d\+\_\+primitive\+\_\+mode\+\_\+set (
\begin{DoxyParamCaption}
\item[{Evas\+\_\+\+Canvas3\+D\+\_\+\+Primitive\+\_\+\+Mode}]{mode}
\end{DoxyParamCaption}
)}\hypertarget{group__Evas__Canvas3D__Primitive_gab0d4c050a2ba9f409fc92d6100ca2201}{}\label{group__Evas__Canvas3D__Primitive_gab0d4c050a2ba9f409fc92d6100ca2201}


Set the mode of the given primitive. 

Mode defines which function will be chosen to set data to mesh on call of evas\+\_\+canvas3d\+\_\+mesh\+\_\+primitive\+\_\+set. It helps to choose alternative algorithm for primitive with given form (like cone without base or sphere textured in alternative way).

Now available next mods of primitives are witout base (bases) (supported for cylinder and cone) and with alternative UV (supported by sphere).

Default form is E\+V\+A\+S\+\_\+\+C\+A\+N\+V\+A\+S3\+D\+\_\+\+P\+R\+I\+M\+I\+T\+I\+V\+E\+\_\+\+M\+O\+D\+E\+\_\+\+D\+E\+F\+A\+U\+LT.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em mode} & Mode of primitive. \\
\hline
\end{DoxyParams}
\index{Primitive Object@{Primitive Object}!evas\+\_\+canvas3d\+\_\+primitive\+\_\+mode\+\_\+get@{evas\+\_\+canvas3d\+\_\+primitive\+\_\+mode\+\_\+get}}
\index{evas\+\_\+canvas3d\+\_\+primitive\+\_\+mode\+\_\+get@{evas\+\_\+canvas3d\+\_\+primitive\+\_\+mode\+\_\+get}!Primitive Object@{Primitive Object}}
\subsubsection[{\texorpdfstring{evas\+\_\+canvas3d\+\_\+primitive\+\_\+mode\+\_\+get(void)}{evas_canvas3d_primitive_mode_get(void)}}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+PI Evas\+\_\+\+Canvas3\+D\+\_\+\+Primitive\+\_\+\+Mode evas\+\_\+canvas3d\+\_\+primitive\+\_\+mode\+\_\+get (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}\hypertarget{group__Evas__Canvas3D__Primitive_ga0d6d5049c98f8a8480a8ea1fed2521a2}{}\label{group__Evas__Canvas3D__Primitive_ga0d6d5049c98f8a8480a8ea1fed2521a2}


Get the mode of the given primitive. 

See also \hyperlink{group__Evas__Canvas3D__Primitive_gab0d4c050a2ba9f409fc92d6100ca2201}{evas\+\_\+canvas3d\+\_\+primitive\+\_\+mode\+\_\+set}.

\begin{DoxyReturn}{Returns}
Mode of primitive. 
\end{DoxyReturn}
\index{Primitive Object@{Primitive Object}!evas\+\_\+canvas3d\+\_\+primitive\+\_\+ratio\+\_\+set@{evas\+\_\+canvas3d\+\_\+primitive\+\_\+ratio\+\_\+set}}
\index{evas\+\_\+canvas3d\+\_\+primitive\+\_\+ratio\+\_\+set@{evas\+\_\+canvas3d\+\_\+primitive\+\_\+ratio\+\_\+set}!Primitive Object@{Primitive Object}}
\subsubsection[{\texorpdfstring{evas\+\_\+canvas3d\+\_\+primitive\+\_\+ratio\+\_\+set(\+Evas\+\_\+\+Real ratio)}{evas_canvas3d_primitive_ratio_set(Evas_Real ratio)}}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+PI void evas\+\_\+canvas3d\+\_\+primitive\+\_\+ratio\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Evas\+\_\+\+Real}}]{ratio}
\end{DoxyParamCaption}
)}\hypertarget{group__Evas__Canvas3D__Primitive_ga8747cb1cf0614374bb9669f4c6c644b5}{}\label{group__Evas__Canvas3D__Primitive_ga8747cb1cf0614374bb9669f4c6c644b5}


Set the ratio of the given primitive. 

Now ratio uses only in torus as the ratio of the major radius and minor radius. For this usage Available values is from 1.\+0 to infinity. If ratio for torus has a bad value, will be used 3.\+0 as ratio. Like ratio of usual doughnut.

Default ratio is 3.\+0.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em ratio} & Ratio of primitive. \\
\hline
\end{DoxyParams}
\index{Primitive Object@{Primitive Object}!evas\+\_\+canvas3d\+\_\+primitive\+\_\+ratio\+\_\+get@{evas\+\_\+canvas3d\+\_\+primitive\+\_\+ratio\+\_\+get}}
\index{evas\+\_\+canvas3d\+\_\+primitive\+\_\+ratio\+\_\+get@{evas\+\_\+canvas3d\+\_\+primitive\+\_\+ratio\+\_\+get}!Primitive Object@{Primitive Object}}
\subsubsection[{\texorpdfstring{evas\+\_\+canvas3d\+\_\+primitive\+\_\+ratio\+\_\+get(void)}{evas_canvas3d_primitive_ratio_get(void)}}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+PI {\bf Evas\+\_\+\+Real} evas\+\_\+canvas3d\+\_\+primitive\+\_\+ratio\+\_\+get (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}\hypertarget{group__Evas__Canvas3D__Primitive_gaaa17cc4717ece13c6209d85e7ff54b8e}{}\label{group__Evas__Canvas3D__Primitive_gaaa17cc4717ece13c6209d85e7ff54b8e}


Get the ratio of the given primitive. 

See also \hyperlink{group__Evas__Canvas3D__Primitive_ga8747cb1cf0614374bb9669f4c6c644b5}{evas\+\_\+canvas3d\+\_\+primitive\+\_\+ratio\+\_\+set}.

\begin{DoxyReturn}{Returns}
Ratio of primitive. 
\end{DoxyReturn}
\index{Primitive Object@{Primitive Object}!evas\+\_\+canvas3d\+\_\+primitive\+\_\+precision\+\_\+set@{evas\+\_\+canvas3d\+\_\+primitive\+\_\+precision\+\_\+set}}
\index{evas\+\_\+canvas3d\+\_\+primitive\+\_\+precision\+\_\+set@{evas\+\_\+canvas3d\+\_\+primitive\+\_\+precision\+\_\+set}!Primitive Object@{Primitive Object}}
\subsubsection[{\texorpdfstring{evas\+\_\+canvas3d\+\_\+primitive\+\_\+precision\+\_\+set(int precision)}{evas_canvas3d_primitive_precision_set(int precision)}}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+PI void evas\+\_\+canvas3d\+\_\+primitive\+\_\+precision\+\_\+set (
\begin{DoxyParamCaption}
\item[{int}]{precision}
\end{DoxyParamCaption}
)}\hypertarget{group__Evas__Canvas3D__Primitive_gaaa9d0f59d340f406e3e5a81069571821}{}\label{group__Evas__Canvas3D__Primitive_gaaa9d0f59d340f406e3e5a81069571821}


Set the precision of the given primitive. 

Precision uses in all non tabulated primitives and defines precision of created primitives. Available values is from 3 to infinity. But if value will be more than 100, should be a warning about possibility of incorrect or slow work.

Default ratio is 10.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em precision} & Precision of primitive. \\
\hline
\end{DoxyParams}
\index{Primitive Object@{Primitive Object}!evas\+\_\+canvas3d\+\_\+primitive\+\_\+precision\+\_\+get@{evas\+\_\+canvas3d\+\_\+primitive\+\_\+precision\+\_\+get}}
\index{evas\+\_\+canvas3d\+\_\+primitive\+\_\+precision\+\_\+get@{evas\+\_\+canvas3d\+\_\+primitive\+\_\+precision\+\_\+get}!Primitive Object@{Primitive Object}}
\subsubsection[{\texorpdfstring{evas\+\_\+canvas3d\+\_\+primitive\+\_\+precision\+\_\+get(void)}{evas_canvas3d_primitive_precision_get(void)}}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+PI int evas\+\_\+canvas3d\+\_\+primitive\+\_\+precision\+\_\+get (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}\hypertarget{group__Evas__Canvas3D__Primitive_gafe447a8a73d97a1905d1c5e060c97b3b}{}\label{group__Evas__Canvas3D__Primitive_gafe447a8a73d97a1905d1c5e060c97b3b}


Get the precision of the given primitive. 

See also \hyperlink{group__Evas__Canvas3D__Primitive_gaaa9d0f59d340f406e3e5a81069571821}{evas\+\_\+canvas3d\+\_\+primitive\+\_\+precision\+\_\+set}.

\begin{DoxyReturn}{Returns}
Precision of primitive. 
\end{DoxyReturn}
\index{Primitive Object@{Primitive Object}!evas\+\_\+canvas3d\+\_\+primitive\+\_\+surface\+\_\+set@{evas\+\_\+canvas3d\+\_\+primitive\+\_\+surface\+\_\+set}}
\index{evas\+\_\+canvas3d\+\_\+primitive\+\_\+surface\+\_\+set@{evas\+\_\+canvas3d\+\_\+primitive\+\_\+surface\+\_\+set}!Primitive Object@{Primitive Object}}
\subsubsection[{\texorpdfstring{evas\+\_\+canvas3d\+\_\+primitive\+\_\+surface\+\_\+set(\+Evas\+\_\+\+Canvas3\+D\+\_\+\+Surface\+\_\+\+Func $\ast$surface)}{evas_canvas3d_primitive_surface_set(Evas_Canvas3D_Surface_Func *surface)}}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+PI void evas\+\_\+canvas3d\+\_\+primitive\+\_\+surface\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Evas\+\_\+\+Canvas3\+D\+\_\+\+Surface\+\_\+\+Func} $\ast$}]{surface}
\end{DoxyParamCaption}
)}\hypertarget{group__Evas__Canvas3D__Primitive_ga3bf83f0eb7c6045f514d1cc280c42ade}{}\label{group__Evas__Canvas3D__Primitive_ga3bf83f0eb7c6045f514d1cc280c42ade}


Set the surface of the given primitive. 

Surface uses only in surface primitive and defines equation of filling mesh data on call of evas\+\_\+canvas3d\+\_\+mesh\+\_\+primitive\+\_\+set.

It gives possibility to create customers primitives like shell, heart, hyperbolic paraboloid etc. See \+\_\+shell\+\_\+func in examples/evas/evas-\/3d-\/visual-\/test.\+c or \+\_\+perlin\+\_\+terrain in modules/evas/primitives/surfaces/terrain.\+c as an example of usage.

Default surface is {\ttfamily null} 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em surface} & Pointer to customers surface function. \\
\hline
\end{DoxyParams}
\index{Primitive Object@{Primitive Object}!evas\+\_\+canvas3d\+\_\+primitive\+\_\+tex\+\_\+scale\+\_\+set@{evas\+\_\+canvas3d\+\_\+primitive\+\_\+tex\+\_\+scale\+\_\+set}}
\index{evas\+\_\+canvas3d\+\_\+primitive\+\_\+tex\+\_\+scale\+\_\+set@{evas\+\_\+canvas3d\+\_\+primitive\+\_\+tex\+\_\+scale\+\_\+set}!Primitive Object@{Primitive Object}}
\subsubsection[{\texorpdfstring{evas\+\_\+canvas3d\+\_\+primitive\+\_\+tex\+\_\+scale\+\_\+set(\+Evas\+\_\+\+Real tex\+\_\+scale\+\_\+x, Evas\+\_\+\+Real tex\+\_\+scale\+\_\+y)}{evas_canvas3d_primitive_tex_scale_set(Evas_Real tex_scale_x, Evas_Real tex_scale_y)}}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+PI void evas\+\_\+canvas3d\+\_\+primitive\+\_\+tex\+\_\+scale\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Evas\+\_\+\+Real}}]{tex\+\_\+scale\+\_\+x, }
\item[{{\bf Evas\+\_\+\+Real}}]{tex\+\_\+scale\+\_\+y}
\end{DoxyParamCaption}
)}\hypertarget{group__Evas__Canvas3D__Primitive_ga633b2e5f1480dc01536e7573f941c8e4}{}\label{group__Evas__Canvas3D__Primitive_ga633b2e5f1480dc01536e7573f941c8e4}


Set the texture scale of the given primitive. 

Texture scale uses in all non tabulated primitives and defines scale of texture coords or primitives.

It uses to create periodical textured meshes.

Default tex\+\_\+scale is \{1.\+0, 1.\+0\}


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em tex\+\_\+scale\+\_\+x} & \\
\hline
\mbox{\tt in}  & {\em tex\+\_\+scale\+\_\+y} & \\
\hline
\end{DoxyParams}
\index{Primitive Object@{Primitive Object}!evas\+\_\+canvas3d\+\_\+primitive\+\_\+tex\+\_\+scale\+\_\+get@{evas\+\_\+canvas3d\+\_\+primitive\+\_\+tex\+\_\+scale\+\_\+get}}
\index{evas\+\_\+canvas3d\+\_\+primitive\+\_\+tex\+\_\+scale\+\_\+get@{evas\+\_\+canvas3d\+\_\+primitive\+\_\+tex\+\_\+scale\+\_\+get}!Primitive Object@{Primitive Object}}
\subsubsection[{\texorpdfstring{evas\+\_\+canvas3d\+\_\+primitive\+\_\+tex\+\_\+scale\+\_\+get(\+Evas\+\_\+\+Real $\ast$tex\+\_\+scale\+\_\+x, Evas\+\_\+\+Real $\ast$tex\+\_\+scale\+\_\+y)}{evas_canvas3d_primitive_tex_scale_get(Evas_Real *tex_scale_x, Evas_Real *tex_scale_y)}}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+PI void evas\+\_\+canvas3d\+\_\+primitive\+\_\+tex\+\_\+scale\+\_\+get (
\begin{DoxyParamCaption}
\item[{{\bf Evas\+\_\+\+Real} $\ast$}]{tex\+\_\+scale\+\_\+x, }
\item[{{\bf Evas\+\_\+\+Real} $\ast$}]{tex\+\_\+scale\+\_\+y}
\end{DoxyParamCaption}
)}\hypertarget{group__Evas__Canvas3D__Primitive_ga9bf448d7391a83353f96ecc2e33752a5}{}\label{group__Evas__Canvas3D__Primitive_ga9bf448d7391a83353f96ecc2e33752a5}


Get the texture scale of the given primitive. 

See also \hyperlink{group__Evas__Canvas3D__Primitive_ga633b2e5f1480dc01536e7573f941c8e4}{evas\+\_\+canvas3d\+\_\+primitive\+\_\+tex\+\_\+scale\+\_\+set}.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt out}  & {\em tex\+\_\+scale\+\_\+x} & \\
\hline
\mbox{\tt out}  & {\em tex\+\_\+scale\+\_\+y} & \\
\hline
\end{DoxyParams}
