AGX Dynamics 2.42.1.1
Loading...
Searching...
No Matches
agxOSGUnitTestHelperFunctions.h
Go to the documentation of this file.
1/*
2Copyright 2007-2025. Algoryx Simulation AB.
3
4All AGX source code, intellectual property, documentation, sample code,
5tutorials, scene files and technical white papers, are copyrighted, proprietary
6and confidential material of Algoryx Simulation AB. You may not download, read,
7store, distribute, publish, copy or otherwise disseminate, use or expose this
8material unless having a written signed agreement with Algoryx Simulation AB, or having been
9advised so by Algoryx Simulation AB for a time limited evaluation, or having purchased a
10valid commercial license from Algoryx Simulation AB.
11
12Algoryx Simulation AB disclaims all responsibilities for loss or damage caused
13from using this software, unless otherwise stated in written agreements with
14Algoryx Simulation AB.
15*/
16
17#pragma once
18
19
20#include <agxOSG/export.h>
22#include <agxUnit/UnitMacros.h>
23#include <agx/RigidBody.h>
24
25namespace osg
26{
27 class Group;
28}
29
30namespace agx
31{
32 class RigidBody;
33}
34namespace agxCollide
35{
36 class GeometryContact;
37}
38
39namespace agxOSG {
40 class Group;
41 class ExampleApplication;
42}
43
44namespace agxSDK {
45 class Simulation;
46}
47
48
49namespace agxUnit {
50
51 typedef void (*ScenePtr)(
52 agxSDK::Simulation* simulation,
53 osg::Group* root );
54
55 typedef agx::RigidBody* (*OneBodyRestingScenePtr)(
56 agxSDK::Simulation* simulation,
57 osg::Group* root );
58
60 agxSDK::Simulation* simulation,
61 osg::Group* root );
62
63
65 agxSDK::Simulation* simulation,
66 agxOSG::ExampleApplication* application,
67 OneBodyRestingScenePtr restingScene,
68 const char* groupName,
69 const char* testName,
70 agx::Real preTestingTime = agx::Real(1));
71
73 agxSDK::Simulation* simulation,
74 agxOSG::ExampleApplication* application,
75 ManyBodiesRestingScenePtr restingScene,
76 const char* groupName,
77 const char* testName,
78 agx::Real preTestingTime = agx::Real(1));
79
86 };
87
89 agxSDK::Simulation* simulation,
90 agxOSG::ExampleApplication* application,
91 ScenePtr scene,
92 const char* groupName,
93 const char* testName,
94 agx::Vec3f normal,
95 agx::Real depth,
96 NormalType normalType = NORMAL,
97 unsigned int minNumContacts = 1);
98
99 // Utility method for passing normal as Vec3 instead of Vec3f.
101 agxSDK::Simulation* simulation,
102 agxOSG::ExampleApplication* application,
103 ScenePtr scene,
104 const char* groupName,
105 const char* testName,
106 agx::Vec3 normal,
107 agx::Real depth,
108 NormalType normalType = NORMAL,
109 unsigned int minNumContacts = 1);
110
111
112
114 agxSDK::Simulation* simulation,
115 agxOSG::ExampleApplication* application,
116 ScenePtr scene,
117 const char* groupName,
118 const char* testName );
119}
120
#define AGXOSG_EXPORT
Class that encapsulates rendering and simulation using OpenSceneGraph.
Simulation is a class that bridges the collision space agxCollide::Space and the dynamic simulation s...
Definition: Simulation.h:131
The rigid body class, combining a geometric model and a frame of reference.
Definition: RigidBody.h:49
This namespace consists of a set of classes for handling geometric intersection tests including boole...
The agxOSG namespace provides functionality for visualizing AGX simulations with OpenSceneGraph.
The agxSDK namespace contain classes to bridge the collision detection system and the dynamical simul...
Definition: Constraint.h:31
AGXOSG_EXPORT osg::Group * testContainsContact(agxSDK::Simulation *simulation, agxOSG::ExampleApplication *application, ScenePtr scene, const char *groupName, const char *testName, agx::Vec3f normal, agx::Real depth, NormalType normalType=NORMAL, unsigned int minNumContacts=1)
AGXOSG_EXPORT osg::Group * testContainsNoContact(agxSDK::Simulation *simulation, agxOSG::ExampleApplication *application, ScenePtr scene, const char *groupName, const char *testName)
AGXOSG_EXPORT osg::Group * testResting(agxSDK::Simulation *simulation, agxOSG::ExampleApplication *application, OneBodyRestingScenePtr restingScene, const char *groupName, const char *testName, agx::Real preTestingTime=agx::Real(1))
void(* ScenePtr)(agxSDK::Simulation *simulation, osg::Group *root)
agx::RigidBodyPtrVector(* ManyBodiesRestingScenePtr)(agxSDK::Simulation *simulation, osg::Group *root)
agx::RigidBody *(* OneBodyRestingScenePtr)(agxSDK::Simulation *simulation, osg::Group *root)
The agx namespace contains the dynamics/math part of the AGX Dynamics API.
agx::VectorPOD< RigidBody * > RigidBodyPtrVector
Definition: RigidBody.h:42
double Real
Definition: Real.h:41