Thread: [cgkit-commits] SF.net SVN: cgkit: [36] cgkit/trunk/doc/tex
Brought to you by:
mbaas
From: <mb...@us...> - 2006-08-15 08:08:21
|
Revision: 36 Author: mbaas Date: 2006-08-15 01:08:15 -0700 (Tue, 15 Aug 2006) ViewCVS: http://svn.sourceforge.net/cgkit/?rev=36&view=rev Log Message: ----------- Updated the slerp() docs Modified Paths: -------------- cgkit/trunk/doc/tex/cgtypes.tex cgkit/trunk/doc/tex/quat.tex Modified: cgkit/trunk/doc/tex/cgtypes.tex =================================================================== --- cgkit/trunk/doc/tex/cgtypes.tex 2006-08-03 06:29:59 UTC (rev 35) +++ cgkit/trunk/doc/tex/cgtypes.tex 2006-08-15 08:08:15 UTC (rev 36) @@ -74,19 +74,21 @@ than or equal to epsilon. \end{funcdesc} -\begin{funcdesc}{slerp}{t, q0, q1} -Performs a spherical linear interpolation between two quaternions q0 -and q1. For t=0.0 the return value equals q0, for t=1.0 it equals -q1. q0 and q1 must be unit quaternions. \\ -New in version 1.1. +\begin{funcdesc}{slerp}{t, q0, q1, shortest=True} +Performs a spherical linear interpolation between two quaternions \var{q0} +and \var{q1}. For \var{t}=0.0 the return value equals \var{q0}, for +\var{t}=1.0 it equals \var{q1}. \var{q0} and \var{q1} must be unit +quaternions. If \var{shortest} is \code{True} the interpolation will always +be along the shortest path, otherwise it depends on the orientation of +the input quaternions whether the shortest or longest path will be taken +(you can switch between the paths by negating either \var{q0} or \var{q1}). \end{funcdesc} \begin{funcdesc}{squad}{t, a, b, c, d} -Performs a spherical cubic interpolation between quaternion a and d -where quaternion b and c define the shape of the interpolation -curve. For t=0.0 the return value equals a, for t=1.0 it equals d. All -quaternions must be unit quaternions. \\ -New in version 1.1. +Performs a spherical cubic interpolation between quaternion \var{a} and \var{d} +where quaternion \var{b} and \var{c} define the shape of the interpolation +curve. For \var{t}=0.0 the return value equals \var{a}, for \var{t}=1.0 it +equals \var{d}. All quaternions must be unit quaternions. \end{funcdesc} %---------------------------------------------------------------------- Modified: cgkit/trunk/doc/tex/quat.tex =================================================================== --- cgkit/trunk/doc/tex/quat.tex 2006-08-03 06:29:59 UTC (rev 35) +++ cgkit/trunk/doc/tex/quat.tex 2006-08-15 08:08:15 UTC (rev 36) @@ -127,20 +127,23 @@ %---------------------------------------- {\bf Related functions} -\begin{funcdesc}{slerp}{t, q0, q1} -Performs a spherical linear interpolation between two quaternions q0 -and q1. For t=0.0 the return value equals q0, for t=1.0 it equals -q1. q0 and q1 must be unit quaternions. \\ -New in version 1.1. +\begin{funcdesc}{slerp}{t, q0, q1, shortest=True} +Performs a spherical linear interpolation between two quaternions \var{q0} +and \var{q1}. For \var{t}=0.0 the return value equals \var{q0}, for +\var{t}=1.0 it equals \var{q1}. \var{q0} and \var{q1} must be unit +quaternions. If \var{shortest} is \code{True} the interpolation will always +be along the shortest path, otherwise it depends on the orientation of +the input quaternions whether the shortest or longest path will be taken +(you can switch between the paths by negating either \var{q0} or \var{q1}). \end{funcdesc} \begin{funcdesc}{squad}{t, a, b, c, d} -Performs a spherical cubic interpolation between quaternion a and d -where quaternion b and c define the shape of the interpolation -curve. For t=0.0 the return value equals a, for t=1.0 it equals d. All -quaternions must be unit quaternions. \\ -New in version 1.1. +Performs a spherical cubic interpolation between quaternion \var{a} and \var{d} +where quaternion \var{b} and \var{c} define the shape of the interpolation +curve. For \var{t}=0.0 the return value equals \var{a}, for \var{t}=1.0 it +equals \var{d}. All quaternions must be unit quaternions. \end{funcdesc} + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mb...@us...> - 2006-10-06 13:31:53
|
Revision: 108 http://svn.sourceforge.net/cgkit/?rev=108&view=rev Author: mbaas Date: 2006-10-06 06:31:47 -0700 (Fri, 06 Oct 2006) Log Message: ----------- Updates Modified Paths: -------------- cgkit/trunk/doc/tex/rmmaterial.tex cgkit/trunk/doc/tex/slparams.tex Modified: cgkit/trunk/doc/tex/rmmaterial.tex =================================================================== --- cgkit/trunk/doc/tex/rmmaterial.tex 2006-10-06 13:30:59 UTC (rev 107) +++ cgkit/trunk/doc/tex/rmmaterial.tex 2006-10-06 13:31:47 UTC (rev 108) @@ -87,6 +87,8 @@ transform = mat4(1), \\ cpp = None, \\ cpperrstream = sys.stderr, \\ + includedirs = None,\\ + defines = None,\\ params = None, \\ paramlist} @@ -100,7 +102,10 @@ \var{cpp} determines the preprocessor that should be used when extracting parameters. \var{cpperrstream} is used to output errors from the -preprocessor (see the function \function{slparams.slparams()} (section +preprocessor. \var{includedirs} is a list of strings that contain +directories where to look for include files. \var{defines} is a list of +tuples (name, value) that specify the predefined symbols to use (see +the function \function{slparams.slparams()} (section \ref{slparams}) for details). \var{params} can be used to declare parameters if the shader source Modified: cgkit/trunk/doc/tex/slparams.tex =================================================================== --- cgkit/trunk/doc/tex/slparams.tex 2006-10-06 13:30:59 UTC (rev 107) +++ cgkit/trunk/doc/tex/slparams.tex 2006-10-06 13:31:47 UTC (rev 108) @@ -8,7 +8,7 @@ New in version 1.1. This module can be used to extract the parameters of a RenderMan shader from the shader source file. -\begin{funcdesc}{slparams}{slname, cpp=None, cpperrstream=sys.stderr} +\begin{funcdesc}{slparams}{slname, cpp=None, cpperrstream=sys.stderr, includedirs=None, defines=None} Extracts the shader parameters from a Shading Language source file. The argument \var{slname} is the name of the shader source file @@ -27,6 +27,10 @@ \var{cpp} is \code{None} a simple internal preprocessor based on the \module{simplecpp} module is used. +\var{includedirs} is a list of strings that contain directories where to +look for include files. \var{defines} is a list of tuples (\var{name}, +\var{value}) that specify the predefined symbols to use. + The function returns a list of 3-tuples, one for each shader found in the file. The tuple contains the type, the name and the parameters of the shader. The parameters are given as a list of 7-tuples describing This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mb...@us...> - 2006-11-28 16:27:59
|
Revision: 181 http://svn.sourceforge.net/cgkit/?rev=181&view=rev Author: mbaas Date: 2006-11-28 08:27:56 -0800 (Tue, 28 Nov 2006) Log Message: ----------- Updates Modified Paths: -------------- cgkit/trunk/doc/tex/boundingbox.tex cgkit/trunk/doc/tex/mat3.tex cgkit/trunk/doc/tex/mat4.tex cgkit/trunk/doc/tex/quat.tex cgkit/trunk/doc/tex/trimeshgeom.tex cgkit/trunk/doc/tex/vec3.tex cgkit/trunk/doc/tex/vec4.tex Modified: cgkit/trunk/doc/tex/boundingbox.tex =================================================================== --- cgkit/trunk/doc/tex/boundingbox.tex 2006-11-28 16:27:39 UTC (rev 180) +++ cgkit/trunk/doc/tex/boundingbox.tex 2006-11-28 16:27:56 UTC (rev 181) @@ -21,9 +21,12 @@ Return \code{True} if the bounding box is empty. \end{methoddesc} -\begin{methoddesc}{getBounds}{} +\begin{methoddesc}{getBounds}{[dir]} Return the minimum and maximum bound. The bounds are returned as -\class{vec3} objects. +\class{vec3} objects. The optional vec3 argument \var{dir} specifies +which corners are actually returned. When viewed along a ray with +the given direction the minimum bound always comes before the maximum +bound. \end{methoddesc} \begin{methoddesc}{setBounds}{b1, b2} @@ -31,6 +34,11 @@ by \var{b1} and \var{b2} defines the new bounding box. \end{methoddesc} +\begin{methoddesc}{center}{} +Return the center of the bounding box (i.e. 0.5*(bmin+bmax)). +The null vector is returned if the bounding box is empty. +\end{methoddesc} + \begin{methoddesc}{addPoint}{p} Enlarge the bounding box so that the point \var{p} is enclosed in the box. \end{methoddesc} @@ -45,3 +53,8 @@ which must be a \class{mat4}. The result will still be axis aligned, so the volume will not be preserved. \end{methoddesc} + +\begin{methoddesc}{clamp}{p} +Clamp the point \var{p} so that it lies within the bounding box. +Each axis is clamped against the corresponding bounding box interval. +\end{methoddesc} Modified: cgkit/trunk/doc/tex/mat3.tex =================================================================== --- cgkit/trunk/doc/tex/mat3.tex 2006-11-28 16:27:39 UTC (rev 180) +++ cgkit/trunk/doc/tex/mat3.tex 2006-11-28 16:27:56 UTC (rev 181) @@ -114,7 +114,7 @@ \end{methoddesc} \begin{methoddesc}{identity}{} -Returns the identity matrix. +Returns the identity matrix. This is a static method. \end{methoddesc} \begin{methoddesc}{transpose}{} @@ -138,11 +138,14 @@ 0 & s.y & 0 \\ 0 & 0 & s.z \\ \end{array} \right) \] + +This is a static method. \end{methoddesc} \begin{methoddesc}{rotation}{angle, axis} Returns a rotation transformation. The angle must be given in radians, -\var{axis} has to be a 3-sequence (e.g. a \class{vec3}). +\var{axis} has to be a 3-sequence (e.g. a \class{vec3}).\\ +This is a static method. \end{methoddesc} \begin{methoddesc}{scale}{s} @@ -166,33 +169,39 @@ \end{methoddesc} \begin{methoddesc}{fromEulerXYZ}{x, y, z} -Initializes a rotation matrix from Euler angles. \var{x} is the angle +Returns a rotation matrix created from Euler angles. \var{x} is the angle around the x axis, \var{y} the angle around the y axis and \var{z} the angle around the z axis. All angles must be given in radians. The order of the individual rotations is X-Y-Z (where each axis refers to the {\em local} axis, i.e. the first rotation is about the x axis which rotates the Y and Z axis, then the second rotation is about the rotated Y axis -and so on). +and so on).\\ +This is a static method. \end{methoddesc} \begin{methoddesc}{fromEulerYZX}{x, y, z} See above. The order is YZX. +This is a static method. \end{methoddesc} \begin{methoddesc}{fromEulerZXY}{x, y, z} See above. The order is ZXY. +This is a static method. \end{methoddesc} \begin{methoddesc}{fromEulerXZY}{x, y, z} See above. The order is XZY. +This is a static method. \end{methoddesc} \begin{methoddesc}{fromEulerYXZ}{x, y, z} See above. The order is YXZ. +This is a static method. \end{methoddesc} \begin{methoddesc}{fromEulerZYX}{x, y, z} See above. The order is ZYX. +This is a static method. \end{methoddesc} \begin{methoddesc}{toEulerXYZ}{} @@ -218,3 +227,18 @@ \begin{methoddesc}{toEulerZYX}{} Return the Euler angles of a rotation matrix. The order is ZYX. \end{methoddesc} + +\begin{methoddesc}{fromToRotation}{_from, to} +Returns a rotation matrix that rotates one vector into another. +The generated rotation matrix will rotate the vector \var{_from} into the +vector \var{to}. \var{_from} and \var{to} must be unit vectors! + +This method is based on the code from: + +Tomas M\"oller and John Hughes\\ +{\em Efficiently Building a Matrix to Rotate One Vector to Another}\\ +Journal of Graphics Tools, 4(4):1-4, 1999\\ +\url{http://www.acm.org/jgt/papers/MollerHughes99/} + +This is a static method. +\end{methoddesc} Modified: cgkit/trunk/doc/tex/mat4.tex =================================================================== --- cgkit/trunk/doc/tex/mat4.tex 2006-11-28 16:27:39 UTC (rev 180) +++ cgkit/trunk/doc/tex/mat4.tex 2006-11-28 16:27:56 UTC (rev 181) @@ -121,7 +121,7 @@ \end{methoddesc} \begin{methoddesc}{identity}{} -Returns the identity matrix. +Returns the identity matrix. This is a static method. \end{methoddesc} \begin{methoddesc}{transpose}{} @@ -147,6 +147,7 @@ 0 & 0 & 0 & 1 \end{array} \right) \] +This is a static method. \end{methoddesc} \begin{methoddesc}{scaling}{s} @@ -159,11 +160,14 @@ 0 & 0 & s.z & 0\\ 0 & 0 & 0 & 1\\ \end{array} \right) \] + +This is a static method. \end{methoddesc} \begin{methoddesc}{rotation}{angle, axis} Returns a rotation transformation. The angle must be given in radians, -\var{axis} has to be a 3-sequence (e.g. a \class{vec3}). +\var{axis} has to be a 3-sequence (e.g. a \class{vec3}).\\ +This is a static method. \end{methoddesc} \begin{methoddesc}{translate}{t} @@ -184,7 +188,8 @@ \begin{methoddesc}{frustum}{left, right, bottom, top, near, far} Returns a matrix that represents a perspective depth transformation. This method is equivalent to the OpenGL command -\cfunction{glFrustum()}. +\cfunction{glFrustum()}.\\ +This is a static method. \note{If you want to use this transformation in RenderMan, keep in mind that the RenderMan camera is looking in the positive z direction @@ -195,12 +200,14 @@ Similarly to \method{frustum()} this method returns a perspective transformation, the only difference is the meaning of the input parameters. The method is equivalent to the OpenGL command -\cfunction{gluPerspective()}. +\cfunction{gluPerspective()}.\\ +This is a static method. \end{methoddesc} \begin{methoddesc}{orthographic}{left, right, bottom, top, near, far} Returns a matrix that represents an orthographic transformation. This -method is equivalent to the OpenGL command \cfunction{glOrtho()}. +method is equivalent to the OpenGL command \cfunction{glOrtho()}.\\ +This is a static method. \end{methoddesc} \begin{methoddesc}{lookAt}{pos, target, up=(0,0,1)} @@ -215,6 +222,8 @@ position the camera in the virtual world. In this case you have to take the inverse of this transformation as viewport transformation (to convert world space coordinates into camera space coordinates). + +This is a static method. \end{methoddesc} \begin{methoddesc}{ortho}{} Modified: cgkit/trunk/doc/tex/quat.tex =================================================================== --- cgkit/trunk/doc/tex/quat.tex 2006-11-28 16:27:39 UTC (rev 180) +++ cgkit/trunk/doc/tex/quat.tex 2006-11-28 16:27:56 UTC (rev 181) @@ -124,6 +124,13 @@ New in version 1.1. \end{methoddesc} +\begin{methoddesc}{rotateVec}{v} +Return the rotated vector \var{v}. The quaternion must be a unit quaternion. +This operation is equivalent to turning \var{v} into a quat, computing +\code{self*v*self.conjugate()} and turning the result back into a vec3.\\ +New in version 2.0. +\end{methoddesc} + %---------------------------------------- {\bf Related functions} Modified: cgkit/trunk/doc/tex/trimeshgeom.tex =================================================================== --- cgkit/trunk/doc/tex/trimeshgeom.tex 2006-11-28 16:27:39 UTC (rev 180) +++ cgkit/trunk/doc/tex/trimeshgeom.tex 2006-11-28 16:27:56 UTC (rev 181) @@ -57,7 +57,7 @@ The ray-triangle intersection code (non-culling case) is based on: -Tomas M\xF6ller and Ben Trumbore\\ +Tomas M\"oller and Ben Trumbore\\ {\em Fast, minimum storage ray-triangle intersection}\\ Journal of graphics tools, 2(1):21-28, 1997\\ \url{http://www.acm.org/jgt/papers/MollerTrumbore97/} Modified: cgkit/trunk/doc/tex/vec3.tex =================================================================== --- cgkit/trunk/doc/tex/vec3.tex 2006-11-28 16:27:39 UTC (rev 180) +++ cgkit/trunk/doc/tex/vec3.tex 2006-11-28 16:27:56 UTC (rev 181) @@ -124,3 +124,34 @@ \code{self*self.ortho()==0}). \end{methoddesc} +\begin{methoddesc}{min}{} +Returns the minimum value of the components. +\end{methoddesc} + +\begin{methoddesc}{max}{} +Returns the maximum value of the components. +\end{methoddesc} + +\begin{methoddesc}{minIndex}{} +Return the index of the component with the minimum value. +\end{methoddesc} + +\begin{methoddesc}{maxIndex}{} +Return the index of the component with the maximum value. +\end{methoddesc} + +\begin{methoddesc}{minAbs}{} +Returns the minimum absolute value of the components. +\end{methoddesc} + +\begin{methoddesc}{maxAbs}{} +Returns the maximum absolute value of the components. +\end{methoddesc} + +\begin{methoddesc}{minAbsIndex}{} +Return the index of the component with the minimum absolute value. +\end{methoddesc} + +\begin{methoddesc}{maxAbsIndex}{} +Return the index of the component with the maximum absolute value. +\end{methoddesc} Modified: cgkit/trunk/doc/tex/vec4.tex =================================================================== --- cgkit/trunk/doc/tex/vec4.tex 2006-11-28 16:27:39 UTC (rev 180) +++ cgkit/trunk/doc/tex/vec4.tex 2006-11-28 16:27:56 UTC (rev 181) @@ -112,4 +112,35 @@ (where each component is zero) a \exception{ZeroDivisionError} is raised. \end{methoddesc} +\begin{methoddesc}{min}{} +Returns the minimum value of the components. +\end{methoddesc} +\begin{methoddesc}{max}{} +Returns the maximum value of the components. +\end{methoddesc} + +\begin{methoddesc}{minIndex}{} +Return the index of the component with the minimum value. +\end{methoddesc} + +\begin{methoddesc}{maxIndex}{} +Return the index of the component with the maximum value. +\end{methoddesc} + +\begin{methoddesc}{minAbs}{} +Returns the minimum absolute value of the components. +\end{methoddesc} + +\begin{methoddesc}{maxAbs}{} +Returns the maximum absolute value of the components. +\end{methoddesc} + +\begin{methoddesc}{minAbsIndex}{} +Return the index of the component with the minimum absolute value. +\end{methoddesc} + +\begin{methoddesc}{maxAbsIndex}{} +Return the index of the component with the maximum absolute value. +\end{methoddesc} + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mb...@us...> - 2006-12-01 15:21:28
|
Revision: 187 http://svn.sourceforge.net/cgkit/?rev=187&view=rev Author: mbaas Date: 2006-12-01 07:21:27 -0800 (Fri, 01 Dec 2006) Log Message: ----------- Update Modified Paths: -------------- cgkit/trunk/doc/tex/maimport.tex cgkit/trunk/doc/tex/mayaascii.tex Modified: cgkit/trunk/doc/tex/maimport.tex =================================================================== --- cgkit/trunk/doc/tex/maimport.tex 2006-12-01 14:13:18 UTC (rev 186) +++ cgkit/trunk/doc/tex/maimport.tex 2006-12-01 15:21:27 UTC (rev 187) @@ -8,7 +8,7 @@ in cgkit. So only those nodes are imported that have an equivalent component in cgkit. Currently, these are cameras, light sources, raw geometry (polys, NURBS (wip)) and skeletons. Polygonal spheres, cubes -and planes will be imported true spheres, cubes, planes if their ``creator'' +and planes will be imported as true spheres, cubes, planes if their ``creator'' node is maintained. In all other cases, you should delete history on your objects in order to see the geometry in cgkit. You can also create active and passive rigid bodies in Maya which will prepare those objects Modified: cgkit/trunk/doc/tex/mayaascii.tex =================================================================== --- cgkit/trunk/doc/tex/mayaascii.tex 2006-12-01 14:13:18 UTC (rev 186) +++ cgkit/trunk/doc/tex/mayaascii.tex 2006-12-01 15:21:27 UTC (rev 187) @@ -5,11 +5,15 @@ \modulesynopsis{Reading Maya ASCII files} This module contains the \class{MAReader} class which can be used as a -base class for reading Maya ASCII files. The class reads the file +base class for reading Maya ASCII (*.ma) files. The class reads the file and invokes callback methods with the corresponding data in the file. Derived classes have to implement those callback methods and process the data as appropriate. +The module also contains a couple of helper classes that may be +used by a derived reader class to facilitate the processing of the +data. + %---------------------------------------------------------------- \subsection{MAReader class} @@ -168,6 +172,19 @@ %---------------------------------------------------------------- \subsection{Attribute class} +The \class{Attribute} class can be used to convert the value of an +attribute (as specified by the \code{setAttr} MEL command) into an +appropriate Python value. + +An \class{Attribute} object is initialized with the arguments that +were passed to the \method{onSetAttr()} callback of the reader +class. The value can be retrieved using the \method{getValue()} +method. Whenever you have prior knowledge of the node you are +currently processing you should pass the expected type of the +attribute to the \method{getValue()} method to prevent the +method from having to guess the type in case it is not specified +in the \code{setAttr} call. + \begin{classdesc}{Attribute}{attr, vals, opts} \var{attr}, \var{vals} and \var{opts} are the arguments of the @@ -191,7 +208,7 @@ \end{methoddesc} \begin{methoddesc}{getValue}{type=None, n=None} -Return the value of the attribute as appropriate Python value. +Return the value of the attribute as an appropriate Python value. \var{type} is a string containing the required type of the value. If \code{None} is passed, the method tries to retrieve the value from the attribute itself. If it fails, an exception is thrown. The following This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |