|
|
world.h File ReferenceDefinition of the Tworld type and the associated functions. More... #include "vector.h" #include "mechanism.h" #include "cuiksystem.h" #include "box.h" #include "link.h" #include "joint.h" #include "plot3d.h" #include "color.h" #include "equations.h" #include "csmapping.h" #include "parameters.h" #include "filename.h" #include <stdlib.h> Go to the source code of this file.
Detailed DescriptionDefinition of the Tworld type and the associated functions. Definition in file world.h. Define Documentation
When generating 3d animations, delay before starting the animation (in seconds). Definition at line 31 of file world.h. Referenced by AnimateWorld().
When generating 3d animations, frames per second. Definition at line 37 of file world.h. Referenced by AnimateWorld().
When generating 3d animations, delay between the end of the animation and the exit of the animation browser (in seconds). Definition at line 45 of file world.h. Referenced by AnimateWorld().
The world is just initialized and holds no data. Definition at line 52 of file world.h. Referenced by InitWorld().
The world is includes geometric information (links, joints). Definition at line 58 of file world.h. Referenced by DeleteWorld(), GenerateWorldEquationSystems(), and PlotWorld().
The world fully defined. Definition at line 64 of file world.h. Referenced by AnimateWorld(), DeleteWorld(), GenerateWorldEquationSystems(), GetGlobalInitialBox(), GetWorldSystemVars(), MaxKinematicReduction(), MoveWorld(), PrintWorldCS(), and SplitGlobalBox(). Function Documentation
Initializes an empty world.
Definition at line 964 of file world.c. References EMPTY_WORLD, InitMechanism(), Tworld::m, Tworld::nb, Tworld::nj, Tworld::nl, Tworld::refEqs, Tworld::stage, and Tworld::systemVars.
Here is the call graph for this function:
Initializes an world from the information stored in a .world file. We don't have documentation yet about how to define world files. Please, have a look to the examples directory.
Referenced by main().
Here is the caller graph for this function:
Adds a link to the mechanism in the world.
Definition at line 978 of file world.c. References AddLink2Mechanism(), LinkNBodies(), Tworld::m, Tworld::nb, and Tworld::nl.
Here is the call graph for this function:
Adds a joint to the mechanism in the world.
Definition at line 989 of file world.c. References AddJoint2Mechanism(), Tworld::m, and Tworld::nj.
Here is the call graph for this function:
Returns the number of degrees of freedom of the mechanism in the world.
Definition at line 996 of file world.c. References GetMechanismDOF(), and Tworld::m.
Here is the call graph for this function:
Gets the identifier of a link from its name (NO_UINT if there is no link with the given name).
Definition at line 1001 of file world.c. References GetLinkID(), and Tworld::m.
Here is the call graph for this function:
Gets a pointer to a link in the mechanism included in the world from its identifier (NULL if there is no link with the given identifier).
Definition at line 1006 of file world.c. References GetMechanismLink(), and Tworld::m.
Here is the call graph for this function:
Gets the number of links in the mechanism included in the world.
Definition at line 1011 of file world.c. References Tworld::nl.
Gets the number of joints in the mechanism included in the world.
Definition at line 1016 of file world.c. References Tworld::nj.
Each link can include more than one convex polyhedron. This function returns the sum of the number of convex polyhedrons defined over all links
Definition at line 1021 of file world.c. References Tworld::nb. Gets the system vars of the global cuiksystem in the form of an array of booleans, one for each variable in the kinCS where only entries corresponding to system variables are set to TRUE.
Definition at line 1026 of file world.c. References Error(), GetCSSystemVars(), Tworld::kinCS, Tworld::stage, and WORLD_WITH_EQUATIONS.
Here is the call graph for this function:
From the information stored in a .world file, we generate the environment and mechanisms structures. From this information we have to generate systems of equations necessary to solve the problem. This is the purpose of this function. Therefore, this function should be used after reading the .world file and before start to solve the problem.
Definition at line 1034 of file world.c. References Branch2Link(), COORD_EQ, Error(), GenerateTransEquationsFromBranch(), GetCSSystemVars(), GetMechanismMaxCoordinate(), InitWorldCS(), InitWorldKinCS(), Tworld::kinCS, Tworld::m, Tworld::maxCoord, NEW, Tworld::nl, Tworld::refEqs, Tworld::stage, Tworld::systemVars, WORLD_WITH_EQUATIONS, and WORLD_WITH_GEOMETRY.
Here is the call graph for this function:
Gets the search space for a given problem. The search space is deduced from the ranges of the variables involved in the problem. This can be seen as a box from world constructor.
Definition at line 1077 of file world.c. References Error(), GenerateInitialBox(), Tworld::kinCS, Tworld::stage, and WORLD_WITH_EQUATIONS.
Here is the call graph for this function:
Reduces the system variables as much as possible taking into account only the system equations (i.e., using only the Tworld::kinCS).
Definition at line 1085 of file world.c. References EMPTY_BOX, Error(), GetBoxLevel(), GetBoxSize(), Tworld::kinCS, MaxReduction(), Tworld::stage, SYSTEM_VAR, Tworld::systemVars, and WORLD_WITH_EQUATIONS.
Here is the call graph for this function:
Definition at line 1130 of file world.c. References ComputeSplitDim(), CUT_POINT, Error(), Tworld::kinCS, NEW, SplitBox(), Tworld::stage, and WORLD_WITH_EQUATIONS.
Here is the call graph for this function:
Adds a world (environment plus mechanism) in a 3D scene. Note that the the mechanism is not set in any valid configuration but all links are plotted with its local frame overlapped with the global one. To actually display the mechanism in a correct configuration you should use MoveWorld.
Definition at line 1152 of file world.c. References Error(), Tworld::m, PlotMechanism(), Tworld::stage, and WORLD_WITH_GEOMETRY. Referenced by AnimateWorld(), and main().
Here is the call graph for this function:
Here is the caller graph for this function:
Moves the mechanisms defined in a world information to a given configuration. Note that the box should only include ranges for the system variables. Therefore, the box given as a parameter is a sub-box of the box associated with Tworld::kinCS.
Definition at line 1160 of file world.c. References Error(), EvaluateEquation(), GetBoxInterval(), GetCSNumVariables(), GetEquationValue(), IntervalCenter(), Tworld::kinCS, Tworld::m, MoveMechanism(), NEW, Tworld::nl, Tworld::refEqs, RegenerateMechanismSolution(), Tworld::stage, Tworld::systemVars, and WORLD_WITH_EQUATIONS. Referenced by AnimateWorld(), and main().
Here is the call graph for this function:
Here is the caller graph for this function:
Produces an animation along a path. An animation is a 3d geometry that can be browsed with geomview. Note that the boxes in the list should only include ranges for the system variables. Therefore, the box given as a parameter is a sub-box of the box associated with Tworld::kinCS. Lists printed while solving a problem are already in this form (i.e., including only system variables)
Definition at line 1211 of file world.c. References Advance(), Close3dBlock(), ClosePlot3d(), Delay3dObject(), EndOfList(), Error(), FALSE, FINAL_FRAME_DELAY, First(), FRAME_RATE, GetBoxNIntervals(), GetCSNumNonDummyVariables(), GetCurrent(), INITIAL_FRAME_DELAY, InitIterator(), InitPlot3d(), Tworld::kinCS, MoveWorld(), PlotWorld(), Tworld::stage, Start3dBlock(), TRUE, and WORLD_WITH_EQUATIONS. Referenced by main().
Here is the call graph for this function:
Here is the caller graph for this function:
Generate a file with the cuiksystems generated from the world information.
Definition at line 1254 of file world.c. References CreateFileName(), CUIK_EXT, DeleteFileName(), Error(), GetFileFullName(), GetFileName(), GetFilePath(), Tworld::kinCS, PARAM_EXT, PrintCuikSystem(), Tworld::stage, and WORLD_WITH_EQUATIONS. Referenced by main().
Here is the call graph for this function:
Here is the caller graph for this function:
Deletes the information stored in a world and frees the allocated memory.
Definition at line 1286 of file world.c. References DeleteEquation(), DeleteMechanism(), DeleteWorldCS(), Tworld::m, Tworld::nl, Tworld::refEqs, Tworld::stage, Tworld::systemVars, WORLD_WITH_EQUATIONS, and WORLD_WITH_GEOMETRY. Referenced by main().
Here is the call graph for this function:
Here is the caller graph for this function:
|