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
23#include <limits>
26
29MOCHI_ENUM_ITEM(Rigid)
31MOCHI_ENUM_ITEM(Articulated)
32MOCHI_ENUM_ITEM(Shell)
36
37MOCHI_ENUM_BEGIN(superdex::BoundarySubsamplingStrategy)
38MOCHI_ENUM_ITEM(UniformProbability)
39MOCHI_ENUM_ITEM(AreaProportional)
42
43MOCHI_ENUM_BEGIN(superdex::ActorBoundaryElementType)
47MOCHI_ENUM_ITEM(ExperimentalP1Q7)
48MOCHI_ENUM_ITEM(ExperimentalP1Q12)
49MOCHI_ENUM_ITEM(ExperimentalP1Q16)
51MOCHI_ENUM_ITEM(Default)
53
54MOCHI_ENUM_BEGIN(superdex::ActorSegmentElementType)
59MOCHI_ENUM_ITEM(Default)
61
62MOCHI_ENUM_BEGIN(superdex::ConstraintType)
64MOCHI_ENUM_ITEM(ArticulatedSingleDofRange)
65MOCHI_ENUM_ITEM(Articulated3dRotationRange)
66MOCHI_ENUM_ITEM(ArticulatedSingleDofTarget)
67MOCHI_ENUM_ITEM(Articulated3dRotationTarget)
68MOCHI_ENUM_ITEM(JointRotationRange)
69MOCHI_ENUM_ITEM(JointRotationTracking)
70MOCHI_ENUM_ITEM(RigidPivotPosition)
71MOCHI_ENUM_ITEM(RigidPivotToRigidTarget)
72MOCHI_ENUM_ITEM(RigidPivotRotation)
73MOCHI_ENUM_ITEM(RigidPrismaticJoint)
74MOCHI_ENUM_ITEM(RigidSphericalJoint)
75MOCHI_ENUM_ITEM(DeformableNodePosition)
76MOCHI_ENUM_ITEM(DeformableNodeToRigid)
77MOCHI_ENUM_ITEM(DeformableNodeToDeformableNode)
78MOCHI_ENUM_ITEM(RodElementRotationToRigid)
81
82MOCHI_ENUM_BEGIN(superdex::PoseConstraintType)
83MOCHI_ENUM_ITEM(Joint)
84MOCHI_ENUM_ITEM(LinkTranslation)
85MOCHI_ENUM_ITEM(LinkRotation)
87MOCHI_ENUM_ITEM(Invalid)
89
90MOCHI_ENUM_BEGIN(superdex::QueryType)
91MOCHI_ENUM_ITEM(NodePositions)
92MOCHI_ENUM_ITEM(ElementsDeformationGradient)
93MOCHI_ENUM_ITEM(SurfaceNodePositions)
94MOCHI_ENUM_ITEM(SurfaceNodeNormals)
95MOCHI_ENUM_ITEM(VisualNodePositions)
96MOCHI_ENUM_ITEM(VisualNodeNormals)
97MOCHI_ENUM_ITEM(ContactPoints)
98MOCHI_ENUM_ITEM(ElasticEnergy)
99MOCHI_ENUM_ITEM(NodeContactForces)
100MOCHI_ENUM_ITEM(ConstraintForce)
101MOCHI_ENUM_ITEM(ArticulatedControllerForce)
102MOCHI_ENUM_ITEM(SdfDistances)
103MOCHI_ENUM_ITEM(TotalContactForce)
104MOCHI_ENUM_COUNT(Count)
106
107MOCHI_ENUM_BEGIN(superdex::IncludeNestedActors)
110MOCHI_ENUM_COUNT(Count)
112
113#include <mochi_physics/mochi_physics_experimental.h>
114
116MOCHI_FIELD(value)
118
122
126
130
131MOCHI_STRUCT_BEGIN_EX(superdex::CallbackHandle)
134
135MOCHI_STRUCT_BEGIN_EX(superdex::ConstraintHandle)
138
142
146
147MOCHI_STRUCT_BEGIN_EX(superdex::SolverParams)
148MOCHI_FIELD(nonLinearSolver)
149MOCHI_FIELD(linearSolver)
150MOCHI_FIELD(integrationMethod)
151MOCHI_FIELD(experimentalEval)
153
154MOCHI_STRUCT_BEGIN_EX(superdex::RecenteringParams)
155MOCHI_FIELD(useRecentering)
156MOCHI_FIELD(rotationEpsilonDeg) MOCHI_ATTRIBUTE(Units("deg"))
157MOCHI_FIELD(translationEpsilon) MOCHI_ATTRIBUTE(Units("m"))
159
160MOCHI_STRUCT_BEGIN_EX(superdex::BoundarySubsamplingParams)
161MOCHI_FIELD(subsamplingDensity)
162MOCHI_FIELD(strategy)
164
165MOCHI_STRUCT_BEGIN_EX(superdex::ContactPairParamsOverride)
166MOCHI_FIELD(penaltyCoefficient) MOCHI_ATTRIBUTE(Units("Pa/m"))
167MOCHI_FIELD(frictionFalloffVel) MOCHI_ATTRIBUTE(Units("m/s"))
168MOCHI_FIELD(viscousFrictionCoefficient) MOCHI_ATTRIBUTE(Units("s/m"))
169MOCHI_FIELD(coulombFrictionCoefficient)
170MOCHI_FIELD(normalViscousDampingCoefficient) MOCHI_ATTRIBUTE(Units("s/m"))
172
173MOCHI_STRUCT_BEGIN_EX(superdex::ArticulatedShapeInfo)
174// MOCHI_FIELD(rootFromLinksAtRest) // TODO: Span not supported
175// MOCHI_FIELD(linkNames) // TODO: Span not supported
176// MOCHI_FIELD(parents) // TODO: Span not supported
177// MOCHI_FIELD(jointTypes) // TODO: Span not supported
178// MOCHI_FIELD(cycles) // TODO: Span not supported
179// MOCHI_FIELD(jointAxes) // TODO: Span not supported
180// MOCHI_FIELD(dofInfo) // TODO: Span not supported
181// MOCHI_FIELD(jointFromChildLink) // TODO: Span not supported
182// MOCHI_FIELD(parentLinkFromJoint) // TODO: Span not supported
183// MOCHI_FIELD(jointMinLimits) // TODO: Span not supported
184// MOCHI_FIELD(jointMaxLimits) // TODO: Span not supported
185// MOCHI_FIELD(jointNames) // TODO: Span not supported
187
190
192// MOCHI_FIELD(scene) // TODO: Pointer types not supported
193MOCHI_FIELD(timeStepSec) MOCHI_ATTRIBUTE(Units("s"))
195
196MOCHI_STRUCT_BEGIN_EX(superdex::RigidActorParams)
197MOCHI_FIELD(name)
198MOCHI_FIELD(layer)
199MOCHI_FIELD(shape)
200MOCHI_FIELD(worldFromLocal)
201MOCHI_FIELD(colliderType)
202MOCHI_FIELD(isStatic)
203MOCHI_FIELD(contact)
204MOCHI_FIELD(sdf)
205MOCHI_FIELD(hasGravity)
206MOCHI_FIELD(density) MOCHI_ATTRIBUTE(Units("kg/m^3"))
207MOCHI_FIELD(mass) MOCHI_ATTRIBUTE(Units("kg"))
208MOCHI_FIELD(centerOfMass) MOCHI_ATTRIBUTE(Units("m"))
209MOCHI_FIELD(momentOfInertia) MOCHI_ATTRIBUTE(Units("kg*m^2"))
210MOCHI_FIELD(boundaryElementType)
211MOCHI_FIELD(boundarySubsampling)
212MOCHI_FIELD(linearVelocity) MOCHI_ATTRIBUTE(Units("m/s"))
213MOCHI_FIELD(angularVelocity) MOCHI_ATTRIBUTE(Units("rad/s"))
215
216MOCHI_STRUCT_BEGIN_EX(superdex::SoftActorParams)
217MOCHI_FIELD(name)
218MOCHI_FIELD(layer)
219MOCHI_FIELD(worldFromLocal)
220MOCHI_FIELD(shape)
221MOCHI_FIELD(material)
222MOCHI_FIELD(contact)
223MOCHI_FIELD(hasGravity)
224MOCHI_FIELD(hasInertia)
225MOCHI_FIELD(hasStress)
226MOCHI_FIELD(boundaryElementType)
228
229MOCHI_STRUCT_BEGIN_EX(superdex::ArticulatedJointParams)
230MOCHI_FIELD(name)
231MOCHI_FIELD(type)
232MOCHI_FIELD(parentLinkFromJoint)
233MOCHI_FIELD(axis)
234MOCHI_FIELD(friction)
235MOCHI_FIELD(inertia)
236MOCHI_FIELD(minLimit)
237MOCHI_FIELD(maxLimit)
238MOCHI_FIELD(limitStiffness)
239MOCHI_FIELD(limitDamping)
241
242MOCHI_STRUCT_BEGIN_EX(superdex::ArticulatedLinkParams)
243MOCHI_FIELD(name)
244MOCHI_FIELD(parentLink)
245MOCHI_FIELD(parentJointFromLink)
246MOCHI_FIELD(shape)
247MOCHI_FIELD(layer)
248MOCHI_FIELD(colliderType)
249MOCHI_FIELD(contact)
250MOCHI_FIELD(hasGravity)
251MOCHI_FIELD(density) MOCHI_ATTRIBUTE(Units("kg/m^3"))
252MOCHI_FIELD(mass) MOCHI_ATTRIBUTE(Units("kg"))
253MOCHI_FIELD(centerOfMass) MOCHI_ATTRIBUTE(Units("m"))
254MOCHI_FIELD(momentOfInertia) MOCHI_ATTRIBUTE(Units("kg*m^2"))
255MOCHI_FIELD(boundaryElementType)
256MOCHI_FIELD(boundarySubsampling)
258
259MOCHI_STRUCT_BEGIN_EX(superdex::ArticulatedSkinParams)
260MOCHI_FIELD(shape)
261MOCHI_FIELD(layer)
262MOCHI_FIELD(contact)
263MOCHI_FIELD(boundaryElementType)
264MOCHI_FIELD(boundarySubsampling)
265MOCHI_FIELD(nonCollidingLinks)
267
268MOCHI_STRUCT_BEGIN_EX(superdex::ArticulatedCycleJointParams)
269MOCHI_FIELD(parentLink)
270MOCHI_FIELD(childLink)
271MOCHI_FIELD(jointFromChildLink)
272MOCHI_FIELD(stiffness)
274
275MOCHI_STRUCT_BEGIN_EX(superdex::ArticulatedActorParams)
276MOCHI_FIELD(name)
277MOCHI_FIELD(worldFromRoot)
278MOCHI_FIELD(cycles)
279MOCHI_FIELD(joints)
280MOCHI_FIELD(links)
281MOCHI_FIELD(skin)
282MOCHI_FIELD(jointVelocities)
284
285MOCHI_STRUCT_BEGIN_EX(superdex::SoftSkinnedActorParams)
286MOCHI_FIELD(skeletonParams)
287MOCHI_FIELD(softParams)
288MOCHI_FIELD(softAttachLinks)
289MOCHI_FIELD(enableCollidingLinks)
290MOCHI_FIELD(hasGravity)
291MOCHI_FIELD(hasInertia)
292MOCHI_FIELD(hasStress)
294
295MOCHI_STRUCT_BEGIN_EX(superdex::ConstraintParams)
296MOCHI_FIELD(stiffness)
297MOCHI_FIELD(damping)
298MOCHI_FIELD(saturation)
300
301MOCHI_STRUCT_BEGIN_EX(superdex::RigidSphericalJointConstraintParams)
302MOCHI_BASE_CLASS(superdex::ConstraintParams)
303MOCHI_FIELD(localPosA) MOCHI_ATTRIBUTE(Units("m"))
304MOCHI_FIELD(localPosB) MOCHI_ATTRIBUTE(Units("m"))
305MOCHI_FIELD(actorA)
306MOCHI_FIELD(actorB)
308
309MOCHI_STRUCT_BEGIN_EX(superdex::RigidPrismaticJointConstraintParams)
310MOCHI_BASE_CLASS(superdex::ConstraintParams)
311MOCHI_FIELD(freeAxis)
312MOCHI_FIELD(actorA)
313MOCHI_FIELD(actorB)
314MOCHI_FIELD(max) MOCHI_ATTRIBUTE(Units("m"))
315MOCHI_FIELD(min) MOCHI_ATTRIBUTE(Units("m"))
317
318MOCHI_STRUCT_BEGIN_EX(superdex::DeformableNodeToDeformableNodeConstraintParams)
319MOCHI_BASE_CLASS(superdex::ConstraintParams)
320MOCHI_FIELD(nodeIndexA)
321MOCHI_FIELD(nodeIndexB)
322MOCHI_FIELD(actorA)
323MOCHI_FIELD(actorB)
324MOCHI_FIELD(findClosest)
326
327MOCHI_STRUCT_BEGIN_EX(superdex::RodElementRotationToRigidConstraintParams)
328MOCHI_BASE_CLASS(superdex::ConstraintParams)
329MOCHI_FIELD(refFrameRotVec) MOCHI_ATTRIBUTE(Units("rad"))
330MOCHI_FIELD(rigidActor)
331MOCHI_FIELD(rodActor)
332MOCHI_FIELD(elementIndex)
334
335MOCHI_STRUCT_BEGIN_EX(superdex::DeformableNodeToRigidConstraintParams)
336MOCHI_BASE_CLASS(superdex::ConstraintParams)
337MOCHI_FIELD(rigidLocalPos) MOCHI_ATTRIBUTE(Units("m"))
338MOCHI_FIELD(deformableNodeIndex)
339MOCHI_FIELD(rigidActor)
340MOCHI_FIELD(deformableActor)
341MOCHI_FIELD(findClosest)
342MOCHI_FIELD(fixToDeformablePos)
344
345MOCHI_STRUCT_BEGIN_EX(superdex::JointRotationRangeConstraintParams)
346MOCHI_BASE_CLASS(superdex::ConstraintParams)
347MOCHI_FIELD(refFrameRotVec) MOCHI_ATTRIBUTE(Units("rad"))
348MOCHI_FIELD(angleRangeX) MOCHI_ATTRIBUTE(Units("rad"))
349MOCHI_FIELD(angleRangeY) MOCHI_ATTRIBUTE(Units("rad"))
350MOCHI_FIELD(angleRangeZ) MOCHI_ATTRIBUTE(Units("rad"))
351MOCHI_FIELD(actorA)
352MOCHI_FIELD(actorB)
353MOCHI_FIELD(rangeAroundRest)
355
356MOCHI_STRUCT_BEGIN_EX(superdex::RigidPivotPositionConstraintParams)
357MOCHI_BASE_CLASS(superdex::ConstraintParams)
358MOCHI_FIELD(targetPosition) MOCHI_ATTRIBUTE(Units("m"))
359MOCHI_FIELD(localPosition) MOCHI_ATTRIBUTE(Units("m"))
360MOCHI_FIELD(actor)
362
363MOCHI_STRUCT_BEGIN_EX(superdex::RigidPivotToRigidTargetConstraintParams)
364MOCHI_BASE_CLASS(superdex::ConstraintParams)
365MOCHI_FIELD(targetTransform)
366MOCHI_FIELD(localPosition) MOCHI_ATTRIBUTE(Units("m"))
367MOCHI_FIELD(actor)
369
370MOCHI_STRUCT_BEGIN_EX(superdex::RigidPivotRotationConstraintParams)
371MOCHI_BASE_CLASS(superdex::ConstraintParams)
372MOCHI_FIELD(targetRotation) MOCHI_ATTRIBUTE(Units("rad"))
373MOCHI_FIELD(localRotation) MOCHI_ATTRIBUTE(Units("rad"))
374MOCHI_FIELD(actor)
376
377MOCHI_STRUCT_BEGIN_EX(superdex::DeformableNodePositionConstraintParams)
378MOCHI_BASE_CLASS(superdex::ConstraintParams)
379MOCHI_FIELD(nodeIndex)
380MOCHI_FIELD(position) MOCHI_ATTRIBUTE(Units("m"))
381MOCHI_FIELD(actor)
383
384MOCHI_STRUCT_BEGIN_EX(superdex::JointRotationTrackingConstraintParams)
385MOCHI_BASE_CLASS(superdex::ConstraintParams)
386MOCHI_FIELD(refFrameRotVec) MOCHI_ATTRIBUTE(Units("rad"))
387MOCHI_FIELD(actorA)
388MOCHI_FIELD(actorB)
390
391MOCHI_STRUCT_BEGIN_EX(superdex::ArticulatedSingleDofTargetConstraintParams)
392MOCHI_BASE_CLASS(superdex::ConstraintParams)
393MOCHI_FIELD(actor)
394MOCHI_FIELD(jointIndex)
395MOCHI_FIELD(dofIndex)
396MOCHI_FIELD(targetValue)
398
399MOCHI_STRUCT_BEGIN_EX(superdex::Articulated3dRotationTargetConstraintParams)
400MOCHI_BASE_CLASS(superdex::ConstraintParams)
401MOCHI_FIELD(actor)
402MOCHI_FIELD(jointIndex)
403MOCHI_FIELD(target)
405
406MOCHI_STRUCT_BEGIN_EX(superdex::ArticulatedSingleDofRangeConstraintParams)
407MOCHI_BASE_CLASS(superdex::ConstraintParams)
408MOCHI_FIELD(actor)
409MOCHI_FIELD(jointIndex)
410MOCHI_FIELD(dofIndex)
411MOCHI_FIELD(minValue)
412MOCHI_FIELD(maxValue)
414
415MOCHI_STRUCT_BEGIN_EX(superdex::Articulated3dRotationRangeConstraintParams)
416MOCHI_BASE_CLASS(superdex::ConstraintParams)
417MOCHI_FIELD(actor)
418MOCHI_FIELD(jointIndex)
419MOCHI_FIELD(minValues) MOCHI_ATTRIBUTE(Units("rad"))
420MOCHI_FIELD(maxValues) MOCHI_ATTRIBUTE(Units("rad"))
422
423MOCHI_STRUCT_BEGIN_EX(superdex::ContactPoint)
424MOCHI_FIELD(actorA)
425MOCHI_FIELD(actorB)
426MOCHI_FIELD(distance) MOCHI_ATTRIBUTE(Units("m"))
427MOCHI_FIELD(posA) MOCHI_ATTRIBUTE(Units("m"))
428MOCHI_FIELD(posB) MOCHI_ATTRIBUTE(Units("m"))
429MOCHI_FIELD(normal)
430MOCHI_FIELD(force) MOCHI_ATTRIBUTE(Units("N"))
431MOCHI_FIELD(pointVelocityA) MOCHI_ATTRIBUTE(Units("m/s"))
432MOCHI_FIELD(pointVelocityB) MOCHI_ATTRIBUTE(Units("m/s"))
433MOCHI_FIELD(sampleIndex)
434MOCHI_FIELD(intWeight)
435MOCHI_FIELD(elementIndex)
436MOCHI_FIELD(parametricCoords)
438
439MOCHI_STRUCT_BEGIN_EX(superdex::NodeContactForce)
440MOCHI_FIELD(index)
441MOCHI_FIELD(force) MOCHI_ATTRIBUTE(Units("N"))
443
444MOCHI_STRUCT_BEGIN_EX(superdex::SdfDistances)
445// MOCHI_FIELD(sampleIndices) // TODO: Span not supported
446// MOCHI_FIELD(worldPositions) // TODO: Span not supported
447// MOCHI_FIELD(distances) // TODO: Span not supported
448// MOCHI_FIELD(distanceGrads) // TODO: Span not supported
449MOCHI_FIELD(maxSdfFarDistanceEvaluation) MOCHI_ATTRIBUTE(Units("m"))
451
452MOCHI_STRUCT_BEGIN_EX(superdex::AsyncStepParams)
453MOCHI_FIELD(useFixedTimeStep)
454MOCHI_FIELD(fixedTimeStepSeconds) MOCHI_ATTRIBUTE(Units("s"))
455MOCHI_FIELD(dynamicTimeStepMinSeconds) MOCHI_ATTRIBUTE(Units("s"))
456MOCHI_FIELD(dynamicTimeStepMaxSeconds) MOCHI_ATTRIBUTE(Units("s"))
458
459MOCHI_STRUCT_BEGIN_EX(superdex::PerformanceStats)
460MOCHI_FIELD(totalStepDurationSec) MOCHI_ATTRIBUTE(Units("s"))
461MOCHI_FIELD(solveStepDurationSec) MOCHI_ATTRIBUTE(Units("s"))
462MOCHI_FIELD(preStepCallbacksDurationSec) MOCHI_ATTRIBUTE(Units("s"))
463MOCHI_FIELD(postStepCallbacksDurationSec) MOCHI_ATTRIBUTE(Units("s"))
464MOCHI_FIELD(recordingStepDurationSec) MOCHI_ATTRIBUTE(Units("s"))
466
468MOCHI_FIELD(maxNonLinearIters)
469MOCHI_FIELD(residualNorm)
470MOCHI_FIELD(maxLineSearchIters)
471MOCHI_FIELD(convergenceStatus)
473
474MOCHI_STRUCT_BEGIN_EX(superdex::RecordingParams)
475MOCHI_FIELD(recordActorMeshes)
476MOCHI_FIELD(recordActorLocalToGlobalMap)
477MOCHI_FIELD(recordActorMassMatrix)
478MOCHI_FIELD(recordTargetState)
479MOCHI_FIELD(recordDynamicActorState)
480MOCHI_FIELD(recordStaticActorState)
481MOCHI_FIELD(recordContactPoints)
482MOCHI_FIELD(recordNodeContactForces)
483MOCHI_FIELD(recordSdfDistances)
485
486MOCHI_STRUCT_BEGIN_EX(superdex::PoseTrackingParams)
487MOCHI_FIELD(stiffness)
488MOCHI_FIELD(damping)
489MOCHI_FIELD(saturation)
491
492MOCHI_STRUCT_BEGIN_EX(superdex::PoseControllerParams)
493MOCHI_FIELD(linkPosTracking)
494MOCHI_FIELD(linkRotTracking)
495MOCHI_FIELD(jointTracking)
497
498MOCHI_STRUCT_BEGIN_EX(superdex::PoseConstraintInfo)
499MOCHI_FIELD(handle)
500MOCHI_FIELD(type)
501MOCHI_FIELD(link)
502MOCHI_FIELD(parent)
504
505MOCHI_STRUCT_BEGIN_EX(superdex::DebugDrawSpheres)
506// MOCHI_FIELD(positions) // TODO: Span not supported
507// MOCHI_FIELD(radii) // TODO: Span not supported
508// MOCHI_FIELD(colors) // TODO: Span not supported
510
511MOCHI_STRUCT_BEGIN_EX(superdex::DebugDrawLineVertices)
512// MOCHI_FIELD(positions) // TODO: Span not supported
513// MOCHI_FIELD(colors) // TODO: Span not supported
515
516MOCHI_STRUCT_BEGIN_EX(superdex::DebugDrawData)
517MOCHI_FIELD(lineVertices)
518MOCHI_FIELD(spheres)
520
523
526
529
532
535
538
539// 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.