|
|
mechanism.c File ReferenceImplementaton of the function operating on Tmechanism. More... #include "mechanism.h" #include <string.h> Go to the source code of this file.
Detailed DescriptionImplementaton of the function operating on Tmechanism.
Definition in file mechanism.c. Function Documentation
Defines an empty mechanism.
Definition at line 16 of file mechanism.c. References CopyVoidPtr(), DeleteVoidPtr(), INIT_NUM_JOINTS, INIT_NUM_LINKS, InitVector(), Tmechanism::joints, Tmechanism::links, Tmechanism::maxCoord, and Tmechanism::nbodies. Referenced by InitWorld().
Here is the call graph for this function:
Here is the caller graph for this function:
Gets the number of links of a mechanism.
Definition at line 24 of file mechanism.c. References Tmechanism::links, and VectorSize(). Referenced by AddLink2Mechanism(), DeleteMechanism(), GetLinkID(), GetMechanismDOF(), MoveMechanism(), PlotMechanism(), and RegenerateMechanismSolution().
Here is the call graph for this function:
Here is the caller graph for this function:
Gets the number of joints of a mechanism.
Definition at line 29 of file mechanism.c. References Tmechanism::joints, and VectorSize(). Referenced by AddJoint2Mechanism(), DeleteMechanism(), GenerateKinTree(), GetMechanismDOF(), MoveMechanism(), PlotMechanism(), and RegenerateMechanismSolution().
Here is the call graph for this function:
Here is the caller graph for this function:
Gets the number of convex sub-parts of a mechanism added all over the links of the mechanism.
Definition at line 34 of file mechanism.c. References Tmechanism::nbodies.
Gets the identifier of a link given its name.
Definition at line 39 of file mechanism.c. References FALSE, GetLinkName(), GetMechanismLink(), GetMechanismNLinks(), NO_UINT, and TRUE. Referenced by GetWorldLinkID().
Here is the call graph for this function:
Here is the caller graph for this function:
Computes the degrees of freedom of a mechanism. The degrees of freedom are computed as 6 per link (but for the ground link) less the degrees of freedom reduced by the joints (6-the degrees of freedom of the joint given by GetJointDOF). Of course, this computation assumes that all link dimensions are general. For special link sizes/joint points the mechanisms can have more degrees of freedom than the returned by this function (i.e., the mechanism can be architecturally singular).
Definition at line 62 of file mechanism.c. References GetJointDOF(), GetMechanismJoint(), GetMechanismNJoints(), and GetMechanismNLinks(). Referenced by GetWorldDOF().
Here is the call graph for this function:
Here is the caller graph for this function:
Gets a 3d point from the mechanism, i.e., from a convex body of a link of the mechanism. Note that identifier are numbered form 0.
Definition at line 77 of file mechanism.c. References GetCPolyhedronDefiningPoint(), GetLinkBody(), and GetMechanismLink().
Here is the call graph for this function:
Adds a link to a mechanism.
Definition at line 83 of file mechanism.c. References CopyLink(), GetLinkMaxCoordinate(), GetMechanismNLinks(), Tmechanism::links, Tmechanism::maxCoord, NEW, and SetVectorElement(). Referenced by AddLink2World().
Here is the call graph for this function:
Here is the caller graph for this function:
Adds a joint to a mechanism.
Definition at line 98 of file mechanism.c. References CopyJoint(), GetJointMaxCoordinate(), GetMechanismNJoints(), Tmechanism::joints, Tmechanism::maxCoord, NEW, and SetVectorElement(). Referenced by AddJoint2World(), and GenerateKinTree().
Here is the call graph for this function:
Here is the caller graph for this function:
Adds a convex sub-part to a mechanism.
Definition at line 113 of file mechanism.c. References AddBody2Link(), Error(), GetLinkMaxCoordinate(), GetMechanismLink(), Tmechanism::maxCoord, and Tmechanism::nbodies.
Here is the call graph for this function:
Gets a link given its identifier.
Definition at line 131 of file mechanism.c. References GetVectorElement(), and Tmechanism::links. Referenced by AddBody2Mechanism(), DeleteMechanism(), GenerateEquationsFromBranch(), GenerateKinTree(), GetLinkID(), GetMechanismDefiningPoint(), GetWorldLink(), InitWorldKinCS(), MoveMechanism(), PlotMechanism(), and RegenerateMechanismSolution().
Here is the call graph for this function:
Here is the caller graph for this function:
Gets a joint given its identifier.
Definition at line 142 of file mechanism.c. References GetVectorElement(), and Tmechanism::joints. Referenced by Branch2Link(), DeleteMechanism(), GenerateKinTree(), GetMechanismDOF(), InitWorldKinCS(), IsRevoluteBinaryLink(), MoveMechanism(), PlotMechanism(), and RegenerateMechanismSolution().
Here is the call graph for this function:
Here is the caller graph for this function:
Returns the sum of the maximum coordinate value for all the links and joints in the mechanism. This is used in higher levels to define an over-estimate bounding-box of the mechanism. This bounding box is used to define the ranges for some of the coordinate and separating planes variables.
Definition at line 153 of file mechanism.c. References Tmechanism::maxCoord. Referenced by GenerateWorldEquationSystems().
Here is the caller graph for this function:
Adds a mechanism to a 3d scene. All convex parts of all links are added using the same frame of reference (i.e, the global one) and thus they will be displayed colliding unless they are moved.
Definition at line 158 of file mechanism.c. References Close3dBlock(), GetMechanismJoint(), GetMechanismLink(), GetMechanismNJoints(), GetMechanismNLinks(), PlotJoint(), PlotLink(), and Start3dBlock(). Referenced by PlotWorld().
Here is the call graph for this function:
Here is the caller graph for this function:
Solution points only include values for the system variables. However, in some formulations, the frame of reference for each link is represented using not only system variables, but dummy variable too. This function computes the values for the link-related dummy variables form the system ones for all the links in the mechanism.
Definition at line 190 of file mechanism.c. References GetMechanismJoint(), GetMechanismLink(), GetMechanismNJoints(), GetMechanismNLinks(), IsGroundLink, RegenerateJointSolution(), and RegenerateLinkSolution(). Referenced by MoveWorld().
Here is the call graph for this function:
Here is the caller graph for this function:
Displaces a mechanism previously added to a 3d scene to a given solution piont.
Definition at line 214 of file mechanism.c. References Close3dBlock(), GetMechanismJoint(), GetMechanismLink(), GetMechanismNJoints(), GetMechanismNLinks(), MoveJoint(), MoveLink(), and Start3dBlock(). Referenced by MoveWorld().
Here is the call graph for this function:
Here is the caller graph for this function:
Deletes the information stored in a mechanism and frees the allocated memory.
Definition at line 249 of file mechanism.c. References DeleteJoint(), DeleteLink(), DeleteVector(), GetMechanismJoint(), GetMechanismLink(), GetMechanismNJoints(), GetMechanismNLinks(), Tmechanism::joints, and Tmechanism::links. Referenced by DeleteWorld().
Here is the call graph for this function:
Here is the caller graph for this function:
|