Changeset 1045 for cpp/frams/_demos/geometry/geometrytestutils.h
- Timestamp:
- 12/11/20 20:23:42 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
cpp/frams/_demos/geometry/geometrytestutils.h
r286 r1045 47 47 */ 48 48 int execute(const SString header, int argc, char *argv[], void (*test)(Model &, const double)); 49 50 /** 51 * @brief Adds anchor to the specified Model. 52 * @details An anchor has two functions. First is to provide Model consistency. Some functions in 53 * GeometryTestUtils namespace requires Model passed to them as an argument to contain at 54 * least one Part. All new Parts are bonded to the rest of Model using Joint connecting them 55 * with first Part of Model. Second is to provide reference which helps to understand Model 56 * position, scale and orientation. Anchor is built from four Parts: small sphere placed in 57 * global coordinate system origin and three cuboids visualising global coordinate system 58 * axes. 59 * @see addAxesToModel. 60 * @param[in] model Owner of Parts to be created. 61 */ 62 void addAnchorToModel(Model &model); 63 64 /** 65 * @brief Adds point marker to Model. 66 * @details Marker of point is a small sphere (radius = 0.05). 67 * @param[in] point Location of marker. 68 * @param[in] model Owner of Part to be created, must contain at least one part. 69 */ 70 void addPointToModel(const Pt3D &point, Model &model); 71 72 /** 73 * @brief Adds axes markers to Model. 74 * @details Axes markers are three streched (one of scales = 0.5, others = 0.05) and colored 75 * cuboids. Cuboid visualising OX axis is red, OY - green, and OZ - blue. 76 * @param[in] sizes Axes visual lengths. 77 * @param[in] axes Axes orientation, relatively to global coordinate system axes. 78 * @param[in] center Axes intersection point, relatively to global coordinate system origin. 79 * @param[in] model Owner of Parts to be created, must contain at least one part. 80 */ 81 void addAxesToModel(const Pt3D &sizes, const Orient &axes, const Pt3D ¢er, Model &model); 82 83 /** 84 * @brief Merges two Models. 85 * @details Moves all parts from source Model to target Model and - to provide Model 86 * consistency - creates Joint between firsts Parts of each of them. Each model must contain 87 * at least one Part. 88 * @param[in] target Target Model, must contain at least one part. 89 * @param[in] source Source Model, must contain at least one part. 90 */ 91 void mergeModels(Model &target, Model &source); 92 93 /** 94 * @brief Randomizes position, scale and rotations of Part. 95 * @details Sets coords of Part position to random values from range (1.5, 2.5), scales to 96 * random values from range (0.1, 1.0), and rotations around each axis to random values from 97 * range (0, M_PI). 98 * @param[in] part Part which position, scale and orient should be randomized. 99 */ 100 void randomizePositionScaleAndOrient(Part *part); 101 49 102 50 /** 103 51 * @brief Prints description of given Part to specified file.
Note: See TracChangeset
for help on using the changeset viewer.