from __future__ import annotations
import usdrt.UsdPhysics._UsdPhysics
import typing
import usdrt.Sdf._Sdf
import usdrt.Usd._Usd
import usdrt.UsdGeom._UsdGeom

__all__ = [
    "ArticulationRootAPI",
    "CollisionAPI",
    "CollisionGroup",
    "DistanceJoint",
    "DriveAPI",
    "FilteredPairsAPI",
    "FixedJoint",
    "Joint",
    "LimitAPI",
    "MassAPI",
    "MaterialAPI",
    "MeshCollisionAPI",
    "PrismaticJoint",
    "RevoluteJoint",
    "RigidBodyAPI",
    "Scene",
    "SphericalJoint",
    "Tokens"
]


class ArticulationRootAPI(usdrt.Usd._Usd.APISchemaBase, usdrt.Usd._Usd.SchemaBase):
    @staticmethod
    def GetSchemaTypeName() -> TfToken: ...
    def __bool__(self) -> bool: ...
    @typing.overload
    def __init__(self, arg0: usdrt.Usd._Usd.Prim) -> None: ...
    @typing.overload
    def __init__(self, arg0: usdrt.Usd._Usd.SchemaBase) -> None: ...
    def __repr__(self) -> str: ...
    pass
class CollisionAPI(usdrt.Usd._Usd.APISchemaBase, usdrt.Usd._Usd.SchemaBase):
    def CreateCollisionEnabledAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateSimulationOwnerRel(self) -> usdrt.Usd._Usd.Relationship: ...
    def GetCollisionEnabledAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    @staticmethod
    def GetSchemaTypeName() -> TfToken: ...
    def GetSimulationOwnerRel(self) -> usdrt.Usd._Usd.Relationship: ...
    def __bool__(self) -> bool: ...
    @typing.overload
    def __init__(self, arg0: usdrt.Usd._Usd.Prim) -> None: ...
    @typing.overload
    def __init__(self, arg0: usdrt.Usd._Usd.SchemaBase) -> None: ...
    def __repr__(self) -> str: ...
    pass
class CollisionGroup(usdrt.Usd._Usd.Typed, usdrt.Usd._Usd.SchemaBase):
    def CreateFilteredGroupsRel(self) -> usdrt.Usd._Usd.Relationship: ...
    def CreateInvertFilteredGroupsAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateMergeGroupNameAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    @staticmethod
    def Define(stage: usdrt.Usd._Usd.Stage, path: usdrt.Sdf._Sdf.Path) -> CollisionGroup: ...
    def GetFilteredGroupsRel(self) -> usdrt.Usd._Usd.Relationship: ...
    def GetInvertFilteredGroupsAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetMergeGroupNameAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    @staticmethod
    def GetSchemaTypeName() -> TfToken: ...
    def __bool__(self) -> bool: ...
    @typing.overload
    def __init__(self, arg0: usdrt.Usd._Usd.Prim) -> None: ...
    @typing.overload
    def __init__(self, arg0: usdrt.Usd._Usd.SchemaBase) -> None: ...
    def __repr__(self) -> str: ...
    pass
class DistanceJoint(Joint, usdrt.UsdGeom._UsdGeom.Imageable, usdrt.Usd._Usd.Typed, usdrt.Usd._Usd.SchemaBase):
    def CreateMaxDistanceAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateMinDistanceAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    @staticmethod
    def Define(stage: usdrt.Usd._Usd.Stage, path: usdrt.Sdf._Sdf.Path) -> DistanceJoint: ...
    def GetMaxDistanceAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetMinDistanceAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    @staticmethod
    def GetSchemaTypeName() -> TfToken: ...
    def __bool__(self) -> bool: ...
    @typing.overload
    def __init__(self, arg0: usdrt.Usd._Usd.Prim) -> None: ...
    @typing.overload
    def __init__(self, arg0: usdrt.Usd._Usd.SchemaBase) -> None: ...
    def __repr__(self) -> str: ...
    pass
class DriveAPI(usdrt.Usd._Usd.APISchemaBase, usdrt.Usd._Usd.SchemaBase):
    def CreateDampingAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateMaxForceAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateStiffnessAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateTargetPositionAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateTargetVelocityAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateTypeAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetDampingAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetMaxForceAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    @staticmethod
    def GetSchemaTypeName() -> TfToken: ...
    def GetStiffnessAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetTargetPositionAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetTargetVelocityAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetTypeAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def __bool__(self) -> bool: ...
    @typing.overload
    def __init__(self, arg0: usdrt.Usd._Usd.Prim, arg1: TfToken) -> None: ...
    @typing.overload
    def __init__(self, arg0: usdrt.Usd._Usd.SchemaBase, arg1: TfToken) -> None: ...
    def __repr__(self) -> str: ...
    pass
class FilteredPairsAPI(usdrt.Usd._Usd.APISchemaBase, usdrt.Usd._Usd.SchemaBase):
    def CreateFilteredPairsRel(self) -> usdrt.Usd._Usd.Relationship: ...
    def GetFilteredPairsRel(self) -> usdrt.Usd._Usd.Relationship: ...
    @staticmethod
    def GetSchemaTypeName() -> TfToken: ...
    def __bool__(self) -> bool: ...
    @typing.overload
    def __init__(self, arg0: usdrt.Usd._Usd.Prim) -> None: ...
    @typing.overload
    def __init__(self, arg0: usdrt.Usd._Usd.SchemaBase) -> None: ...
    def __repr__(self) -> str: ...
    pass
class FixedJoint(Joint, usdrt.UsdGeom._UsdGeom.Imageable, usdrt.Usd._Usd.Typed, usdrt.Usd._Usd.SchemaBase):
    @staticmethod
    def Define(stage: usdrt.Usd._Usd.Stage, path: usdrt.Sdf._Sdf.Path) -> FixedJoint: ...
    @staticmethod
    def GetSchemaTypeName() -> TfToken: ...
    def __bool__(self) -> bool: ...
    @typing.overload
    def __init__(self, arg0: usdrt.Usd._Usd.Prim) -> None: ...
    @typing.overload
    def __init__(self, arg0: usdrt.Usd._Usd.SchemaBase) -> None: ...
    def __repr__(self) -> str: ...
    pass
class Joint(usdrt.UsdGeom._UsdGeom.Imageable, usdrt.Usd._Usd.Typed, usdrt.Usd._Usd.SchemaBase):
    def CreateBody0Rel(self) -> usdrt.Usd._Usd.Relationship: ...
    def CreateBody1Rel(self) -> usdrt.Usd._Usd.Relationship: ...
    def CreateBreakForceAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateBreakTorqueAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateCollisionEnabledAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateExcludeFromArticulationAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateJointEnabledAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateLocalPos0Attr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateLocalPos1Attr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateLocalRot0Attr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateLocalRot1Attr(self) -> usdrt.Usd._Usd.Attribute: ...
    @staticmethod
    def Define(stage: usdrt.Usd._Usd.Stage, path: usdrt.Sdf._Sdf.Path) -> Joint: ...
    def GetBody0Rel(self) -> usdrt.Usd._Usd.Relationship: ...
    def GetBody1Rel(self) -> usdrt.Usd._Usd.Relationship: ...
    def GetBreakForceAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetBreakTorqueAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetCollisionEnabledAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetExcludeFromArticulationAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetJointEnabledAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetLocalPos0Attr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetLocalPos1Attr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetLocalRot0Attr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetLocalRot1Attr(self) -> usdrt.Usd._Usd.Attribute: ...
    @staticmethod
    def GetSchemaTypeName() -> TfToken: ...
    def __bool__(self) -> bool: ...
    @typing.overload
    def __init__(self, arg0: usdrt.Usd._Usd.Prim) -> None: ...
    @typing.overload
    def __init__(self, arg0: usdrt.Usd._Usd.SchemaBase) -> None: ...
    def __repr__(self) -> str: ...
    pass
class LimitAPI(usdrt.Usd._Usd.APISchemaBase, usdrt.Usd._Usd.SchemaBase):
    def CreateHighAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateLowAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetHighAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetLowAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    @staticmethod
    def GetSchemaTypeName() -> TfToken: ...
    def __bool__(self) -> bool: ...
    @typing.overload
    def __init__(self, arg0: usdrt.Usd._Usd.Prim, arg1: TfToken) -> None: ...
    @typing.overload
    def __init__(self, arg0: usdrt.Usd._Usd.SchemaBase, arg1: TfToken) -> None: ...
    def __repr__(self) -> str: ...
    pass
class MassAPI(usdrt.Usd._Usd.APISchemaBase, usdrt.Usd._Usd.SchemaBase):
    def CreateCenterOfMassAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateDensityAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateDiagonalInertiaAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateMassAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreatePrincipalAxesAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetCenterOfMassAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetDensityAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetDiagonalInertiaAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetMassAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetPrincipalAxesAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    @staticmethod
    def GetSchemaTypeName() -> TfToken: ...
    def __bool__(self) -> bool: ...
    @typing.overload
    def __init__(self, arg0: usdrt.Usd._Usd.Prim) -> None: ...
    @typing.overload
    def __init__(self, arg0: usdrt.Usd._Usd.SchemaBase) -> None: ...
    def __repr__(self) -> str: ...
    pass
class MaterialAPI(usdrt.Usd._Usd.APISchemaBase, usdrt.Usd._Usd.SchemaBase):
    def CreateDensityAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateDynamicFrictionAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateRestitutionAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateStaticFrictionAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetDensityAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetDynamicFrictionAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetRestitutionAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    @staticmethod
    def GetSchemaTypeName() -> TfToken: ...
    def GetStaticFrictionAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def __bool__(self) -> bool: ...
    @typing.overload
    def __init__(self, arg0: usdrt.Usd._Usd.Prim) -> None: ...
    @typing.overload
    def __init__(self, arg0: usdrt.Usd._Usd.SchemaBase) -> None: ...
    def __repr__(self) -> str: ...
    pass
class MeshCollisionAPI(usdrt.Usd._Usd.APISchemaBase, usdrt.Usd._Usd.SchemaBase):
    def CreateApproximationAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetApproximationAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    @staticmethod
    def GetSchemaTypeName() -> TfToken: ...
    def __bool__(self) -> bool: ...
    @typing.overload
    def __init__(self, arg0: usdrt.Usd._Usd.Prim) -> None: ...
    @typing.overload
    def __init__(self, arg0: usdrt.Usd._Usd.SchemaBase) -> None: ...
    def __repr__(self) -> str: ...
    pass
class PrismaticJoint(Joint, usdrt.UsdGeom._UsdGeom.Imageable, usdrt.Usd._Usd.Typed, usdrt.Usd._Usd.SchemaBase):
    def CreateAxisAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateLowerLimitAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateUpperLimitAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    @staticmethod
    def Define(stage: usdrt.Usd._Usd.Stage, path: usdrt.Sdf._Sdf.Path) -> PrismaticJoint: ...
    def GetAxisAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetLowerLimitAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    @staticmethod
    def GetSchemaTypeName() -> TfToken: ...
    def GetUpperLimitAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def __bool__(self) -> bool: ...
    @typing.overload
    def __init__(self, arg0: usdrt.Usd._Usd.Prim) -> None: ...
    @typing.overload
    def __init__(self, arg0: usdrt.Usd._Usd.SchemaBase) -> None: ...
    def __repr__(self) -> str: ...
    pass
class RevoluteJoint(Joint, usdrt.UsdGeom._UsdGeom.Imageable, usdrt.Usd._Usd.Typed, usdrt.Usd._Usd.SchemaBase):
    def CreateAxisAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateLowerLimitAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateUpperLimitAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    @staticmethod
    def Define(stage: usdrt.Usd._Usd.Stage, path: usdrt.Sdf._Sdf.Path) -> RevoluteJoint: ...
    def GetAxisAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetLowerLimitAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    @staticmethod
    def GetSchemaTypeName() -> TfToken: ...
    def GetUpperLimitAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def __bool__(self) -> bool: ...
    @typing.overload
    def __init__(self, arg0: usdrt.Usd._Usd.Prim) -> None: ...
    @typing.overload
    def __init__(self, arg0: usdrt.Usd._Usd.SchemaBase) -> None: ...
    def __repr__(self) -> str: ...
    pass
class RigidBodyAPI(usdrt.Usd._Usd.APISchemaBase, usdrt.Usd._Usd.SchemaBase):
    def CreateAngularVelocityAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateKinematicEnabledAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateRigidBodyEnabledAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateSimulationOwnerRel(self) -> usdrt.Usd._Usd.Relationship: ...
    def CreateStartsAsleepAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateVelocityAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetAngularVelocityAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetKinematicEnabledAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetRigidBodyEnabledAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    @staticmethod
    def GetSchemaTypeName() -> TfToken: ...
    def GetSimulationOwnerRel(self) -> usdrt.Usd._Usd.Relationship: ...
    def GetStartsAsleepAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetVelocityAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def __bool__(self) -> bool: ...
    @typing.overload
    def __init__(self, arg0: usdrt.Usd._Usd.Prim) -> None: ...
    @typing.overload
    def __init__(self, arg0: usdrt.Usd._Usd.SchemaBase) -> None: ...
    def __repr__(self) -> str: ...
    pass
class Scene(usdrt.Usd._Usd.Typed, usdrt.Usd._Usd.SchemaBase):
    def CreateGravityDirectionAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateGravityMagnitudeAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    @staticmethod
    def Define(stage: usdrt.Usd._Usd.Stage, path: usdrt.Sdf._Sdf.Path) -> Scene: ...
    def GetGravityDirectionAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetGravityMagnitudeAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    @staticmethod
    def GetSchemaTypeName() -> TfToken: ...
    def __bool__(self) -> bool: ...
    @typing.overload
    def __init__(self, arg0: usdrt.Usd._Usd.Prim) -> None: ...
    @typing.overload
    def __init__(self, arg0: usdrt.Usd._Usd.SchemaBase) -> None: ...
    def __repr__(self) -> str: ...
    pass
class SphericalJoint(Joint, usdrt.UsdGeom._UsdGeom.Imageable, usdrt.Usd._Usd.Typed, usdrt.Usd._Usd.SchemaBase):
    def CreateAxisAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateConeAngle0LimitAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateConeAngle1LimitAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    @staticmethod
    def Define(stage: usdrt.Usd._Usd.Stage, path: usdrt.Sdf._Sdf.Path) -> SphericalJoint: ...
    def GetAxisAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetConeAngle0LimitAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetConeAngle1LimitAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    @staticmethod
    def GetSchemaTypeName() -> TfToken: ...
    def __bool__(self) -> bool: ...
    @typing.overload
    def __init__(self, arg0: usdrt.Usd._Usd.Prim) -> None: ...
    @typing.overload
    def __init__(self, arg0: usdrt.Usd._Usd.SchemaBase) -> None: ...
    def __repr__(self) -> str: ...
    pass
class Tokens():
    acceleration = 'acceleration'
    angular = 'angular'
    boundingCube = 'boundingCube'
    boundingSphere = 'boundingSphere'
    colliders = 'colliders'
    convexDecomposition = 'convexDecomposition'
    convexHull = 'convexHull'
    distance = 'distance'
    drive = 'drive'
    force = 'force'
    kilogramsPerUnit = 'kilogramsPerUnit'
    limit = 'limit'
    linear = 'linear'
    meshSimplification = 'meshSimplification'
    none = 'none'
    physicsAngularVelocity = 'physics:angularVelocity'
    physicsApproximation = 'physics:approximation'
    physicsAxis = 'physics:axis'
    physicsBody0 = 'physics:body0'
    physicsBody1 = 'physics:body1'
    physicsBreakForce = 'physics:breakForce'
    physicsBreakTorque = 'physics:breakTorque'
    physicsCenterOfMass = 'physics:centerOfMass'
    physicsCollisionEnabled = 'physics:collisionEnabled'
    physicsConeAngle0Limit = 'physics:coneAngle0Limit'
    physicsConeAngle1Limit = 'physics:coneAngle1Limit'
    physicsDamping = 'physics:damping'
    physicsDensity = 'physics:density'
    physicsDiagonalInertia = 'physics:diagonalInertia'
    physicsDynamicFriction = 'physics:dynamicFriction'
    physicsExcludeFromArticulation = 'physics:excludeFromArticulation'
    physicsFilteredGroups = 'physics:filteredGroups'
    physicsFilteredPairs = 'physics:filteredPairs'
    physicsGravityDirection = 'physics:gravityDirection'
    physicsGravityMagnitude = 'physics:gravityMagnitude'
    physicsHigh = 'physics:high'
    physicsInvertFilteredGroups = 'physics:invertFilteredGroups'
    physicsJointEnabled = 'physics:jointEnabled'
    physicsKinematicEnabled = 'physics:kinematicEnabled'
    physicsLocalPos0 = 'physics:localPos0'
    physicsLocalPos1 = 'physics:localPos1'
    physicsLocalRot0 = 'physics:localRot0'
    physicsLocalRot1 = 'physics:localRot1'
    physicsLow = 'physics:low'
    physicsLowerLimit = 'physics:lowerLimit'
    physicsMass = 'physics:mass'
    physicsMaxDistance = 'physics:maxDistance'
    physicsMaxForce = 'physics:maxForce'
    physicsMergeGroup = 'physics:mergeGroup'
    physicsMinDistance = 'physics:minDistance'
    physicsPrincipalAxes = 'physics:principalAxes'
    physicsRestitution = 'physics:restitution'
    physicsRigidBodyEnabled = 'physics:rigidBodyEnabled'
    physicsSimulationOwner = 'physics:simulationOwner'
    physicsStartsAsleep = 'physics:startsAsleep'
    physicsStaticFriction = 'physics:staticFriction'
    physicsStiffness = 'physics:stiffness'
    physicsTargetPosition = 'physics:targetPosition'
    physicsTargetVelocity = 'physics:targetVelocity'
    physicsType = 'physics:type'
    physicsUpperLimit = 'physics:upperLimit'
    physicsVelocity = 'physics:velocity'
    rotX = 'rotX'
    rotY = 'rotY'
    rotZ = 'rotZ'
    transX = 'transX'
    transY = 'transY'
    transZ = 'transZ'
    x = 'X'
    y = 'Y'
    z = 'Z'
    pass
