📄 classpath.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>Copley Motion Library: Path Class Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.4.4 --><div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Class List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Class Members</a> | <a class="qindex" href="globals.html">File Members</a></div><h1>Path Class Reference</h1><!-- doxytag: class="Path" --><!-- doxytag: inherits="LinkTrajectory" --><p>Inheritance diagram for Path:<p><center><img src="classPath.png" usemap="#Path_map" border="0" alt=""></center><map name="Path_map"><area href="classLinkTrajectory.html" alt="LinkTrajectory" shape="rect" coords="0,0,93,24"></map><a href="classPath-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>Multi-axis complex trajectory path. <p>The object may be used to construct one or two dimensional trajectories built out of line segments and arcs.<p><p>Definition at line <a class="el" href="CML__Path_8h-source.html#l00037">37</a> of file <a class="el" href="CML__Path_8h-source.html">CML_Path.h</a>.<table border="0" cellpadding="0" cellspacing="0"><tr><td></td></tr><tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPath.html#a0">Path</a> (<a class="el" href="CML__Utils_8h.html#a3">uint</a> d)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Path object constructor. <a href="#a0"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a1"></a><!-- doxytag: member="Path::~Path" ref="a1" args="(void)" -->virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classPath.html#a1">~Path</a> (void)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Destructor for the path object. <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPath.html#a2">Reset</a> (void)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Reset the path to the first position. <a href="#a2"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <a class="el" href="classError.html">Error</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classPath.html#a3">SetStartPos</a> (<a class="el" href="classPointN.html">PointN</a> &p)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Set the initial position for the path. <a href="#a3"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <a class="el" href="classError.html">Error</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classPath.html#a4">SetVel</a> (<a class="el" href="CML__Utils_8h.html#a11">uunit</a> v)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Set the velocity limit for the current location. <a href="#a4"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <a class="el" href="classError.html">Error</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classPath.html#a5">SetAcc</a> (<a class="el" href="CML__Utils_8h.html#a11">uunit</a> a)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Set the acceleration limit for the current location. <a href="#a5"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <a class="el" href="classError.html">Error</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classPath.html#a6">SetDec</a> (<a class="el" href="CML__Utils_8h.html#a11">uunit</a> d)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Set the deceleration limit for the current location. <a href="#a6"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <a class="el" href="classError.html">Error</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classPath.html#a7">AddLine</a> (<a class="el" href="classPointN.html">PointN</a> &p)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Add a line segment from the current position to the specified point. <a href="#a7"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <a class="el" href="classError.html">Error</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classPath.html#a8">AddLine</a> (<a class="el" href="CML__Utils_8h.html#a11">uunit</a> length)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Add a line segment of the specified length. <a href="#a8"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <a class="el" href="classError.html">Error</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classPath.html#a9">AddArc</a> (double radius, double angle)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Add an arc with the specified radius and angle (radians). <a href="#a9"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <a class="el" href="classError.html">Error</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classPath.html#a10">AddArc</a> (<a class="el" href="classPointN.html">PointN</a> &center, double angle)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Add an arc with the specified center point and angle (radians). <a href="#a10"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <a class="el" href="classError.html">Error</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classPath.html#a11">Pause</a> (double sec)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Set the current velocity to 0 and pause for the specified amount of time. <a href="#a11"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classPath.html#a12">GetDim</a> (void)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Get the dimension (i.e. <a href="#a12"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <a class="el" href="classError.html">Error</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classPath.html#a13">NextSegment</a> (<a class="el" href="CML__Utils_8h.html#a11">uunit</a> pos[], <a class="el" href="CML__Utils_8h.html#a11">uunit</a> vel[], <a class="el" href="CML__Utils_8h.html#a6">uint8</a> &time)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Get the next trajectory segment. <a href="#a13"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <a class="el" href="classError.html">Error</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classPath.html#a14">StartNew</a> (void)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Start a new trajectory. <a href="#a14"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classPath.html#a15">PlayPath</a> (double timeInc, double pos[], double vel[])</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Play back path data. <a href="#a15"></a><br></td></tr><tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="p0"></a><!-- doxytag: member="Path::maxVel" ref="p0" args="" -->double </td><td class="memItemRight" valign="bottom"><a class="el" href="classPath.html#p0">maxVel</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="p1"></a><!-- doxytag: member="Path::maxAcc" ref="p1" args="" -->double </td><td class="memItemRight" valign="bottom"><a class="el" href="classPath.html#p1">maxAcc</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="p2"></a><!-- doxytag: member="Path::maxDec" ref="p2" args="" -->double </td><td class="memItemRight" valign="bottom"><a class="el" href="classPath.html#p2">maxDec</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="p3"></a><!-- doxytag: member="Path::first" ref="p3" args="" -->PathElement * </td><td class="memItemRight" valign="bottom"><a class="el" href="classPath.html#p3">first</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="p4"></a><!-- doxytag: member="Path::last" ref="p4" args="" -->PathElement * </td><td class="memItemRight" valign="bottom"><a class="el" href="classPath.html#p4">last</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="p5"></a><!-- doxytag: member="Path::crntSeg" ref="p5" args="" -->PathElement * </td><td class="memItemRight" valign="bottom"><a class="el" href="classPath.html#p5">crntSeg</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="p6"></a><!-- doxytag: member="Path::segTime" ref="p6" args="" -->double </td><td class="memItemRight" valign="bottom"><a class="el" href="classPath.html#p6">segTime</a></td></tr></table><hr><h2>Constructor & Destructor Documentation</h2><a class="anchor" name="a0"></a><!-- doxytag: member="Path::Path" ref="a0" args="(uint d)" --><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"><a class="el" href="classPath.html">Path</a> </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="CML__Utils_8h.html#a3">uint</a> </td> <td class="mdname1" valign="top" nowrap> <em>d</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p>Path object constructor. <p>The number of dimensions for the path must be passed. This object currently supports one and two dimensional (i.e. one and two axis) path construction. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>d</em> </td><td>The number of dimensions for the path. Must be either one or two for now.</td></tr> </table></dl> </td> </tr></table><hr><h2>Member Function Documentation</h2><a class="anchor" name="a10"></a><!-- doxytag: member="Path::AddArc" ref="a10" args="(PointN &center, double angle)" --><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">virtual const <a class="el" href="classError.html">Error</a>* AddArc </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="classPointN.html">PointN</a> & </td> <td class="mdname" nowrap> <em>center</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>double </td> <td class="mdname" nowrap> <em>angle</em></td> </tr> <tr> <td class="md"></td> <td class="md">) </td> <td class="md" colspan="2"><code> [virtual]</code></td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p>Add an arc with the specified center point and angle (radians). <p>The arc will start at the current position and will move in clockwise (positive angle), or counter-clockwise (negative angle) direction.<p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>center</em> </td><td>The center point of the arc. </td></tr> <tr><td valign="top"></td><td valign="top"><em>angle</em> </td><td>The number of radians to rotate through. Positive values will result in clockwise rotation.</td></tr> </table></dl><dl compact><dt><b>Returns:</b></dt><dd>An error object or null on success</dd></dl> </td> </tr></table><a class="anchor" name="a9"></a><!-- doxytag: member="Path::AddArc" ref="a9" args="(double radius, double angle)" --><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">virtual const <a class="el" href="classError.html">Error</a>* AddArc </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">double </td> <td class="mdname" nowrap> <em>radius</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>double </td> <td class="mdname" nowrap> <em>angle</em></td> </tr> <tr> <td class="md"></td> <td class="md">) </td> <td class="md" colspan="2"><code> [virtual]</code></td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p>Add an arc with the specified radius and angle (radians). <p>The arc will start at the current position and will move in either a clockwise (positive angle), or counter-clockwise (negative angle) direction.<p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>radius</em> </td><td>The radius of the arc </td></tr> <tr><td valign="top"></td><td valign="top"><em>angle</em> </td><td>The number of radians to rotate through. Positive values will result in clockwise rotation.</td></tr> </table></dl><dl compact><dt><b>Returns:</b></dt><dd>An error object or null on success</dd></dl> </td> </tr></table><a class="anchor" name="a8"></a><!-- doxytag: member="Path::AddLine" ref="a8" args="(uunit length)" --><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">virtual const <a class="el" href="classError.html">Error</a>* AddLine </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="CML__Utils_8h.html#a11">uunit</a> </td>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -