SuperDex Physics C++ API
Loading...
Searching...
No Matches
mochi_physics_reflection.generated.h
Go to the documentation of this file.
1/*
2 * This file was @generated by mochi_gen_py. Do not modify this file by hand!!
3 *
4 * Copyright (c) Meta Platforms, Inc. and affiliates.
5 *
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 */
18
19// clang-format off
20
21#pragma once
22
25
28MOCHI_ENUM_ITEM(Rigid)
30MOCHI_ENUM_ITEM(Articulated)
31MOCHI_ENUM_ITEM(Shell)
35
36MOCHI_ENUM_BEGIN(superdex::BoundarySubsamplingStrategy)
37MOCHI_ENUM_ITEM(UniformProbability)
38MOCHI_ENUM_ITEM(AreaProportional)
41
42MOCHI_ENUM_BEGIN(superdex::ActorBoundaryElementType)
46MOCHI_ENUM_ITEM(ExperimentalP1Q7)
47MOCHI_ENUM_ITEM(ExperimentalP1Q12)
48MOCHI_ENUM_ITEM(ExperimentalP1Q16)
50MOCHI_ENUM_ITEM(Default)
52
53MOCHI_ENUM_BEGIN(superdex::ActorSegmentElementType)
58MOCHI_ENUM_ITEM(Default)
60
61MOCHI_ENUM_BEGIN(superdex::ConstraintType)
63MOCHI_ENUM_ITEM(ArticulatedSingleDofRange)
64MOCHI_ENUM_ITEM(Articulated3dRotationRange)
65MOCHI_ENUM_ITEM(ArticulatedSingleDofTarget)
66MOCHI_ENUM_ITEM(Articulated3dRotationTarget)
67MOCHI_ENUM_ITEM(JointRotationRange)
68MOCHI_ENUM_ITEM(JointRotationTracking)
69MOCHI_ENUM_ITEM(RigidPivotPosition)
70MOCHI_ENUM_ITEM(RigidPivotToRigidTarget)
71MOCHI_ENUM_ITEM(RigidPivotRotation)
72MOCHI_ENUM_ITEM(RigidPrismaticJoint)
73MOCHI_ENUM_ITEM(RigidSphericalJoint)
74MOCHI_ENUM_ITEM(DeformableNodePosition)
75MOCHI_ENUM_ITEM(DeformableNodeToRigid)
76MOCHI_ENUM_ITEM(DeformableNodeToDeformableNode)
77MOCHI_ENUM_ITEM(RodElementRotationToRigid)
80
81MOCHI_ENUM_BEGIN(superdex::PoseConstraintType)
82MOCHI_ENUM_ITEM(Joint)
83MOCHI_ENUM_ITEM(LinkTranslation)
84MOCHI_ENUM_ITEM(LinkRotation)
86MOCHI_ENUM_ITEM(Invalid)
88
89MOCHI_ENUM_BEGIN(superdex::QueryType)
90MOCHI_ENUM_ITEM(NodePositions)
91MOCHI_ENUM_ITEM(ElementsDeformationGradient)
92MOCHI_ENUM_ITEM(SurfaceNodePositions)
93MOCHI_ENUM_ITEM(SurfaceNodeNormals)
94MOCHI_ENUM_ITEM(VisualNodePositions)
95MOCHI_ENUM_ITEM(VisualNodeNormals)
96MOCHI_ENUM_ITEM(ContactPoints)
97MOCHI_ENUM_ITEM(ElasticEnergy)
98MOCHI_ENUM_ITEM(NodeContactForces)
99MOCHI_ENUM_ITEM(ConstraintForce)
100MOCHI_ENUM_ITEM(ArticulatedControllerForce)
101MOCHI_ENUM_ITEM(SdfDistances)
102MOCHI_ENUM_ITEM(TotalContactForce)
103MOCHI_ENUM_COUNT(Count)
105
106MOCHI_ENUM_BEGIN(superdex::IncludeNestedActors)
109MOCHI_ENUM_COUNT(Count)
111
112#include <mochi_physics/mochi_physics_experimental.h>
113
115MOCHI_FIELD(value)
117
121
125
129
130MOCHI_STRUCT_BEGIN_EX(superdex::CallbackHandle)
133
134MOCHI_STRUCT_BEGIN_EX(superdex::ConstraintHandle)
137
141
145
146MOCHI_STRUCT_BEGIN_EX(superdex::SolverParams)
147MOCHI_FIELD(nonLinearSolver)
148MOCHI_FIELD(linearSolver)
149MOCHI_FIELD(integrationMethod)
150MOCHI_FIELD(experimentalEval)
152
153MOCHI_STRUCT_BEGIN_EX(superdex::RecenteringParams)
154MOCHI_FIELD(useRecentering)
155MOCHI_FIELD(rotationEpsilonDeg) MOCHI_ATTRIBUTE(Units("deg"))
156MOCHI_FIELD(translationEpsilon) MOCHI_ATTRIBUTE(Units("m"))
158
159MOCHI_STRUCT_BEGIN_EX(superdex::BoundarySubsamplingParams)
160MOCHI_FIELD(subsamplingDensity)
161MOCHI_FIELD(strategy)
163
164MOCHI_STRUCT_BEGIN_EX(superdex::ArticulatedShapeInfo)
165// MOCHI_FIELD(rootFromLinksAtRest) // TODO: Span not supported
166// MOCHI_FIELD(linkNames) // TODO: Span not supported
167// MOCHI_FIELD(parents) // TODO: Span not supported
168// MOCHI_FIELD(jointTypes) // TODO: Span not supported
169// MOCHI_FIELD(cycles) // TODO: Span not supported
170// MOCHI_FIELD(jointAxes) // TODO: Span not supported
171// MOCHI_FIELD(dofInfo) // TODO: Span not supported
172// MOCHI_FIELD(jointFromChildLink) // TODO: Span not supported
173// MOCHI_FIELD(parentLinkFromJoint) // TODO: Span not supported
174// MOCHI_FIELD(jointMinLimits) // TODO: Span not supported
175// MOCHI_FIELD(jointMaxLimits) // TODO: Span not supported
176// MOCHI_FIELD(jointNames) // TODO: Span not supported
178
181
183// MOCHI_FIELD(scene) // TODO: Pointer types not supported
184MOCHI_FIELD(timeStepSec) MOCHI_ATTRIBUTE(Units("s"))
186
187MOCHI_STRUCT_BEGIN_EX(superdex::RigidActorParams)
188MOCHI_FIELD(name)
189MOCHI_FIELD(layer)
190MOCHI_FIELD(shape)
191MOCHI_FIELD(worldFromLocal)
192MOCHI_FIELD(colliderType)
193MOCHI_FIELD(isStatic)
194MOCHI_FIELD(contact)
195MOCHI_FIELD(sdf)
196MOCHI_FIELD(hasGravity)
197MOCHI_FIELD(density) MOCHI_ATTRIBUTE(Units("kg/m^3"))
198MOCHI_FIELD(mass) MOCHI_ATTRIBUTE(Units("kg"))
199MOCHI_FIELD(centerOfMass) MOCHI_ATTRIBUTE(Units("m"))
200MOCHI_FIELD(momentOfInertia) MOCHI_ATTRIBUTE(Units("kg*m^2"))
201MOCHI_FIELD(boundaryElementType)
202MOCHI_FIELD(boundarySubsampling)
203MOCHI_FIELD(linearVelocity) MOCHI_ATTRIBUTE(Units("m/s"))
204MOCHI_FIELD(angularVelocity) MOCHI_ATTRIBUTE(Units("rad/s"))
206
207MOCHI_STRUCT_BEGIN_EX(superdex::SoftActorParams)
208MOCHI_FIELD(name)
209MOCHI_FIELD(layer)
210MOCHI_FIELD(worldFromLocal)
211MOCHI_FIELD(shape)
212MOCHI_FIELD(material)
213MOCHI_FIELD(contact)
214MOCHI_FIELD(hasGravity)
215MOCHI_FIELD(hasInertia)
216MOCHI_FIELD(hasStress)
217MOCHI_FIELD(boundaryElementType)
219
220MOCHI_STRUCT_BEGIN_EX(superdex::ArticulatedJointParams)
221MOCHI_FIELD(name)
222MOCHI_FIELD(type)
223MOCHI_FIELD(parentLinkFromJoint)
224MOCHI_FIELD(axis)
225MOCHI_FIELD(friction)
226MOCHI_FIELD(inertia)
227MOCHI_FIELD(minLimit)
228MOCHI_FIELD(maxLimit)
229MOCHI_FIELD(limitStiffness)
230MOCHI_FIELD(limitDamping)
232
233MOCHI_STRUCT_BEGIN_EX(superdex::ArticulatedLinkParams)
234MOCHI_FIELD(name)
235MOCHI_FIELD(parentLink)
236MOCHI_FIELD(parentJointFromLink)
237MOCHI_FIELD(shape)
238MOCHI_FIELD(layer)
239MOCHI_FIELD(colliderType)
240MOCHI_FIELD(contact)
241MOCHI_FIELD(hasGravity)
242MOCHI_FIELD(density) MOCHI_ATTRIBUTE(Units("kg/m^3"))
243MOCHI_FIELD(mass) MOCHI_ATTRIBUTE(Units("kg"))
244MOCHI_FIELD(centerOfMass) MOCHI_ATTRIBUTE(Units("m"))
245MOCHI_FIELD(momentOfInertia) MOCHI_ATTRIBUTE(Units("kg*m^2"))
246MOCHI_FIELD(boundaryElementType)
247MOCHI_FIELD(boundarySubsampling)
249
250MOCHI_STRUCT_BEGIN_EX(superdex::ArticulatedSkinParams)
251MOCHI_FIELD(shape)
252MOCHI_FIELD(layer)
253MOCHI_FIELD(contact)
254MOCHI_FIELD(boundaryElementType)
255MOCHI_FIELD(boundarySubsampling)
257
258MOCHI_STRUCT_BEGIN_EX(superdex::ArticulatedCycleJointParams)
259MOCHI_FIELD(parentLink)
260MOCHI_FIELD(childLink)
261MOCHI_FIELD(jointFromChildLink)
262MOCHI_FIELD(stiffness)
264
265MOCHI_STRUCT_BEGIN_EX(superdex::ArticulatedActorParams)
266MOCHI_FIELD(name)
267MOCHI_FIELD(worldFromRoot)
268MOCHI_FIELD(cycles)
269MOCHI_FIELD(joints)
270MOCHI_FIELD(links)
271MOCHI_FIELD(skin)
272MOCHI_FIELD(jointVelocities)
274
275MOCHI_STRUCT_BEGIN_EX(superdex::SoftSkinnedActorParams)
276MOCHI_FIELD(skeletonParams)
277MOCHI_FIELD(softParams)
278MOCHI_FIELD(softAttachLinks)
279MOCHI_FIELD(enableCollidingLinks)
280MOCHI_FIELD(hasGravity)
281MOCHI_FIELD(hasInertia)
282MOCHI_FIELD(hasStress)
284
285MOCHI_STRUCT_BEGIN_EX(superdex::ConstraintParams)
286MOCHI_FIELD(stiffness)
287MOCHI_FIELD(damping)
288MOCHI_FIELD(saturation)
290
291MOCHI_STRUCT_BEGIN_EX(superdex::RigidSphericalJointConstraintParams)
292MOCHI_BASE_CLASS(superdex::ConstraintParams)
293MOCHI_FIELD(localPosA) MOCHI_ATTRIBUTE(Units("m"))
294MOCHI_FIELD(localPosB) MOCHI_ATTRIBUTE(Units("m"))
295MOCHI_FIELD(actorA)
296MOCHI_FIELD(actorB)
298
299MOCHI_STRUCT_BEGIN_EX(superdex::RigidPrismaticJointConstraintParams)
300MOCHI_BASE_CLASS(superdex::ConstraintParams)
301MOCHI_FIELD(freeAxis)
302MOCHI_FIELD(actorA)
303MOCHI_FIELD(actorB)
304MOCHI_FIELD(max) MOCHI_ATTRIBUTE(Units("m"))
305MOCHI_FIELD(min) MOCHI_ATTRIBUTE(Units("m"))
307
308MOCHI_STRUCT_BEGIN_EX(superdex::DeformableNodeToDeformableNodeConstraintParams)
309MOCHI_BASE_CLASS(superdex::ConstraintParams)
310MOCHI_FIELD(nodeIndexA)
311MOCHI_FIELD(nodeIndexB)
312MOCHI_FIELD(actorA)
313MOCHI_FIELD(actorB)
314MOCHI_FIELD(findClosest)
316
317MOCHI_STRUCT_BEGIN_EX(superdex::RodElementRotationToRigidConstraintParams)
318MOCHI_BASE_CLASS(superdex::ConstraintParams)
319MOCHI_FIELD(refFrameRotVec) MOCHI_ATTRIBUTE(Units("rad"))
320MOCHI_FIELD(rigidActor)
321MOCHI_FIELD(rodActor)
322MOCHI_FIELD(elementIndex)
324
325MOCHI_STRUCT_BEGIN_EX(superdex::DeformableNodeToRigidConstraintParams)
326MOCHI_BASE_CLASS(superdex::ConstraintParams)
327MOCHI_FIELD(rigidLocalPos) MOCHI_ATTRIBUTE(Units("m"))
328MOCHI_FIELD(deformableNodeIndex)
329MOCHI_FIELD(rigidActor)
330MOCHI_FIELD(deformableActor)
331MOCHI_FIELD(findClosest)
332MOCHI_FIELD(fixToDeformablePos)
334
335MOCHI_STRUCT_BEGIN_EX(superdex::JointRotationRangeConstraintParams)
336MOCHI_BASE_CLASS(superdex::ConstraintParams)
337MOCHI_FIELD(refFrameRotVec) MOCHI_ATTRIBUTE(Units("rad"))
338MOCHI_FIELD(angleRangeX) MOCHI_ATTRIBUTE(Units("rad"))
339MOCHI_FIELD(angleRangeY) MOCHI_ATTRIBUTE(Units("rad"))
340MOCHI_FIELD(angleRangeZ) MOCHI_ATTRIBUTE(Units("rad"))
341MOCHI_FIELD(actorA)
342MOCHI_FIELD(actorB)
343MOCHI_FIELD(rangeAroundRest)
345
346MOCHI_STRUCT_BEGIN_EX(superdex::RigidPivotPositionConstraintParams)
347MOCHI_BASE_CLASS(superdex::ConstraintParams)
348MOCHI_FIELD(targetPosition) MOCHI_ATTRIBUTE(Units("m"))
349MOCHI_FIELD(localPosition) MOCHI_ATTRIBUTE(Units("m"))
350MOCHI_FIELD(actor)
352
353MOCHI_STRUCT_BEGIN_EX(superdex::RigidPivotToRigidTargetConstraintParams)
354MOCHI_BASE_CLASS(superdex::ConstraintParams)
355MOCHI_FIELD(targetTransform)
356MOCHI_FIELD(localPosition) MOCHI_ATTRIBUTE(Units("m"))
357MOCHI_FIELD(actor)
359
360MOCHI_STRUCT_BEGIN_EX(superdex::RigidPivotRotationConstraintParams)
361MOCHI_BASE_CLASS(superdex::ConstraintParams)
362MOCHI_FIELD(targetRotation) MOCHI_ATTRIBUTE(Units("rad"))
363MOCHI_FIELD(localRotation) MOCHI_ATTRIBUTE(Units("rad"))
364MOCHI_FIELD(actor)
366
367MOCHI_STRUCT_BEGIN_EX(superdex::DeformableNodePositionConstraintParams)
368MOCHI_BASE_CLASS(superdex::ConstraintParams)
369MOCHI_FIELD(nodeIndex)
370MOCHI_FIELD(position) MOCHI_ATTRIBUTE(Units("m"))
371MOCHI_FIELD(actor)
373
374MOCHI_STRUCT_BEGIN_EX(superdex::JointRotationTrackingConstraintParams)
375MOCHI_BASE_CLASS(superdex::ConstraintParams)
376MOCHI_FIELD(refFrameRotVec) MOCHI_ATTRIBUTE(Units("rad"))
377MOCHI_FIELD(actorA)
378MOCHI_FIELD(actorB)
380
381MOCHI_STRUCT_BEGIN_EX(superdex::ArticulatedSingleDofTargetConstraintParams)
382MOCHI_BASE_CLASS(superdex::ConstraintParams)
383MOCHI_FIELD(actor)
384MOCHI_FIELD(jointIndex)
385MOCHI_FIELD(dofIndex)
386MOCHI_FIELD(targetValue)
388
389MOCHI_STRUCT_BEGIN_EX(superdex::Articulated3dRotationTargetConstraintParams)
390MOCHI_BASE_CLASS(superdex::ConstraintParams)
391MOCHI_FIELD(actor)
392MOCHI_FIELD(jointIndex)
393MOCHI_FIELD(target)
395
396MOCHI_STRUCT_BEGIN_EX(superdex::ArticulatedSingleDofRangeConstraintParams)
397MOCHI_BASE_CLASS(superdex::ConstraintParams)
398MOCHI_FIELD(actor)
399MOCHI_FIELD(jointIndex)
400MOCHI_FIELD(dofIndex)
401MOCHI_FIELD(minValue)
402MOCHI_FIELD(maxValue)
404
405MOCHI_STRUCT_BEGIN_EX(superdex::Articulated3dRotationRangeConstraintParams)
406MOCHI_BASE_CLASS(superdex::ConstraintParams)
407MOCHI_FIELD(actor)
408MOCHI_FIELD(jointIndex)
409MOCHI_FIELD(minValues) MOCHI_ATTRIBUTE(Units("rad"))
410MOCHI_FIELD(maxValues) MOCHI_ATTRIBUTE(Units("rad"))
412
413MOCHI_STRUCT_BEGIN_EX(superdex::ContactPoint)
414MOCHI_FIELD(actorA)
415MOCHI_FIELD(actorB)
416MOCHI_FIELD(distance) MOCHI_ATTRIBUTE(Units("m"))
417MOCHI_FIELD(posA) MOCHI_ATTRIBUTE(Units("m"))
418MOCHI_FIELD(posB) MOCHI_ATTRIBUTE(Units("m"))
419MOCHI_FIELD(normal)
420MOCHI_FIELD(force) MOCHI_ATTRIBUTE(Units("N"))
421MOCHI_FIELD(pointVelocityA) MOCHI_ATTRIBUTE(Units("m/s"))
422MOCHI_FIELD(pointVelocityB) MOCHI_ATTRIBUTE(Units("m/s"))
423MOCHI_FIELD(sampleIndex)
424MOCHI_FIELD(intWeight)
425MOCHI_FIELD(elementIndex)
426MOCHI_FIELD(parametricCoords)
428
429MOCHI_STRUCT_BEGIN_EX(superdex::NodeContactForce)
430MOCHI_FIELD(index)
431MOCHI_FIELD(force) MOCHI_ATTRIBUTE(Units("N"))
433
434MOCHI_STRUCT_BEGIN_EX(superdex::SdfDistances)
435// MOCHI_FIELD(sampleIndices) // TODO: Span not supported
436// MOCHI_FIELD(worldPositions) // TODO: Span not supported
437// MOCHI_FIELD(distances) // TODO: Span not supported
438// MOCHI_FIELD(distanceGrads) // TODO: Span not supported
439MOCHI_FIELD(maxSdfFarDistanceEvaluation) MOCHI_ATTRIBUTE(Units("m"))
441
442MOCHI_STRUCT_BEGIN_EX(superdex::AsyncStepParams)
443MOCHI_FIELD(useFixedTimeStep)
444MOCHI_FIELD(fixedTimeStepSeconds) MOCHI_ATTRIBUTE(Units("s"))
445MOCHI_FIELD(dynamicTimeStepMinSeconds) MOCHI_ATTRIBUTE(Units("s"))
446MOCHI_FIELD(dynamicTimeStepMaxSeconds) MOCHI_ATTRIBUTE(Units("s"))
448
449MOCHI_STRUCT_BEGIN_EX(superdex::PerformanceStats)
450MOCHI_FIELD(totalStepDurationSec) MOCHI_ATTRIBUTE(Units("s"))
451MOCHI_FIELD(solveStepDurationSec) MOCHI_ATTRIBUTE(Units("s"))
452MOCHI_FIELD(preStepCallbacksDurationSec) MOCHI_ATTRIBUTE(Units("s"))
453MOCHI_FIELD(postStepCallbacksDurationSec) MOCHI_ATTRIBUTE(Units("s"))
454MOCHI_FIELD(recordingStepDurationSec) MOCHI_ATTRIBUTE(Units("s"))
456
458MOCHI_FIELD(maxNonLinearIters)
459MOCHI_FIELD(residualNorm)
460MOCHI_FIELD(maxLineSearchIters)
461MOCHI_FIELD(convergenceStatus)
463
464MOCHI_STRUCT_BEGIN_EX(superdex::RecordingParams)
465MOCHI_FIELD(recordActorMeshes)
466MOCHI_FIELD(recordActorLocalToGlobalMap)
467MOCHI_FIELD(recordActorMassMatrix)
468MOCHI_FIELD(recordTargetState)
469MOCHI_FIELD(recordDynamicActorState)
470MOCHI_FIELD(recordStaticActorState)
471MOCHI_FIELD(recordContactPoints)
472MOCHI_FIELD(recordNodeContactForces)
473MOCHI_FIELD(recordSdfDistances)
475
476MOCHI_STRUCT_BEGIN_EX(superdex::PoseTrackingParams)
477MOCHI_FIELD(stiffness)
478MOCHI_FIELD(damping)
479MOCHI_FIELD(saturation)
481
482MOCHI_STRUCT_BEGIN_EX(superdex::PoseControllerParams)
483MOCHI_FIELD(linkPosTracking)
484MOCHI_FIELD(linkRotTracking)
485MOCHI_FIELD(jointTracking)
487
488MOCHI_STRUCT_BEGIN_EX(superdex::PoseConstraintInfo)
489MOCHI_FIELD(handle)
490MOCHI_FIELD(type)
491MOCHI_FIELD(link)
492MOCHI_FIELD(parent)
494
495MOCHI_STRUCT_BEGIN_EX(superdex::DebugDrawSpheres)
496// MOCHI_FIELD(positions) // TODO: Span not supported
497// MOCHI_FIELD(radii) // TODO: Span not supported
498// MOCHI_FIELD(colors) // TODO: Span not supported
500
501MOCHI_STRUCT_BEGIN_EX(superdex::DebugDrawLineVertices)
502// MOCHI_FIELD(positions) // TODO: Span not supported
503// MOCHI_FIELD(colors) // TODO: Span not supported
505
506MOCHI_STRUCT_BEGIN_EX(superdex::DebugDrawData)
507MOCHI_FIELD(lineVertices)
508MOCHI_FIELD(spheres)
510
513
516
519
522
525
528
529// clang-format on
ActorType
Type of actor.
Definition mochi_enums.h:25
#define MOCHI_ENUM_COUNT(name)
Definition reflection.h:275
#define MOCHI_STRUCT_BEGIN_EX(name)
Definition reflection.h:283
#define MOCHI_STRUCT_END_EX()
Definition reflection.h:284
#define MOCHI_ENUM_END()
Definition reflection.h:276
#define MOCHI_ENUM_BEGIN(name)
Definition reflection.h:273
#define MOCHI_FIELD(name)
Definition reflection.h:293
#define MOCHI_BASE_CLASS(name)
Definition reflection.h:292
#define MOCHI_ATTRIBUTE(...)
Definition reflection.h:298
#define MOCHI_ENUM_ITEM(name)
Definition reflection.h:274
Generic 64-bit handle providing base functionality for strongly-typed handles.