from __future__ import annotations
import usdrt.ForceFieldSchema._ForceFieldSchema
import typing
import usdrt.Usd._Usd

__all__ = [
    "PhysxForceFieldAPI",
    "PhysxForceFieldConicalAPI",
    "PhysxForceFieldDragAPI",
    "PhysxForceFieldLinearAPI",
    "PhysxForceFieldNoiseAPI",
    "PhysxForceFieldPlanarAPI",
    "PhysxForceFieldRingAPI",
    "PhysxForceFieldSphericalAPI",
    "PhysxForceFieldSpinAPI",
    "PhysxForceFieldWindAPI",
    "Tokens"
]


class PhysxForceFieldAPI(usdrt.Usd._Usd.APISchemaBase, usdrt.Usd._Usd.SchemaBase):
    def CreateEnabledAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreatePositionAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateRangeAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateSurfaceAreaScaleEnabledAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateSurfaceSampleDensityAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetEnabledAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetPositionAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetRangeAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    @staticmethod
    def GetSchemaTypeName() -> TfToken: ...
    def GetSurfaceAreaScaleEnabledAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetSurfaceSampleDensityAttr(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 PhysxForceFieldConicalAPI(usdrt.Usd._Usd.APISchemaBase, usdrt.Usd._Usd.SchemaBase):
    def CreateAngleAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateConstantAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateDirectionAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateInverseSquareAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateLinearAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateLinearFalloffAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreatePowerFalloffAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetAngleAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetConstantAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetDirectionAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetInverseSquareAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetLinearAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetLinearFalloffAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetPowerFalloffAttr(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 PhysxForceFieldDragAPI(usdrt.Usd._Usd.APISchemaBase, usdrt.Usd._Usd.SchemaBase):
    def CreateLinearAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateMinimumSpeedAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateSquareAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetLinearAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetMinimumSpeedAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    @staticmethod
    def GetSchemaTypeName() -> TfToken: ...
    def GetSquareAttr(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 PhysxForceFieldLinearAPI(usdrt.Usd._Usd.APISchemaBase, usdrt.Usd._Usd.SchemaBase):
    def CreateConstantAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateDirectionAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateInverseSquareAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateLinearAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetConstantAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetDirectionAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetInverseSquareAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetLinearAttr(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 PhysxForceFieldNoiseAPI(usdrt.Usd._Usd.APISchemaBase, usdrt.Usd._Usd.SchemaBase):
    def CreateAmplitudeAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateDragAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateFrequencyAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetAmplitudeAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetDragAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetFrequencyAttr(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 PhysxForceFieldPlanarAPI(usdrt.Usd._Usd.APISchemaBase, usdrt.Usd._Usd.SchemaBase):
    def CreateConstantAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateInverseSquareAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateLinearAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateNormalAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetConstantAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetInverseSquareAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetLinearAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetNormalAttr(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 PhysxForceFieldRingAPI(usdrt.Usd._Usd.APISchemaBase, usdrt.Usd._Usd.SchemaBase):
    def CreateConstantAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateInverseSquareAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateLinearAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateNormalAxisAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateRadiusAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateSpinConstantAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateSpinInverseSquareAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateSpinLinearAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetConstantAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetInverseSquareAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetLinearAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetNormalAxisAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetRadiusAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    @staticmethod
    def GetSchemaTypeName() -> TfToken: ...
    def GetSpinConstantAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetSpinInverseSquareAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetSpinLinearAttr(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 PhysxForceFieldSphericalAPI(usdrt.Usd._Usd.APISchemaBase, usdrt.Usd._Usd.SchemaBase):
    def CreateConstantAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateInverseSquareAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateLinearAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetConstantAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetInverseSquareAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetLinearAttr(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 PhysxForceFieldSpinAPI(usdrt.Usd._Usd.APISchemaBase, usdrt.Usd._Usd.SchemaBase):
    def CreateConstantAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateInverseSquareAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateLinearAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateSpinAxisAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetConstantAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetInverseSquareAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetLinearAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    @staticmethod
    def GetSchemaTypeName() -> TfToken: ...
    def GetSpinAxisAttr(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 PhysxForceFieldWindAPI(usdrt.Usd._Usd.APISchemaBase, usdrt.Usd._Usd.SchemaBase):
    def CreateAverageDirectionAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateAverageSpeedAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateDirectionVariationAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateDirectionVariationFrequencyAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateDragAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateSpeedVariationAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateSpeedVariationFrequencyAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetAverageDirectionAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetAverageSpeedAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetDirectionVariationAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetDirectionVariationFrequencyAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetDragAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    @staticmethod
    def GetSchemaTypeName() -> TfToken: ...
    def GetSpeedVariationAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetSpeedVariationFrequencyAttr(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 Tokens():
    forceFieldBodies = 'forceFieldBodies'
    physxForceField = 'physxForceField'
    physxForceFieldConicalAngle = 'physxForceFieldConical:angle'
    physxForceFieldConicalConstant = 'physxForceFieldConical:constant'
    physxForceFieldConicalInverseSquare = 'physxForceFieldConical:inverseSquare'
    physxForceFieldConicalLinear = 'physxForceFieldConical:linear'
    physxForceFieldConicalLinearFalloff = 'physxForceFieldConical:linearFalloff'
    physxForceFieldConicalPowerFalloff = 'physxForceFieldConical:powerFalloff'
    physxForceFieldDragLinear = 'physxForceFieldDrag:linear'
    physxForceFieldDragMinimumSpeed = 'physxForceFieldDrag:minimumSpeed'
    physxForceFieldDragSquare = 'physxForceFieldDrag:square'
    physxForceFieldEnabled = 'physxForceField:enabled'
    physxForceFieldLinearConstant = 'physxForceFieldLinear:constant'
    physxForceFieldLinearDirection = 'physxForceFieldLinear:direction'
    physxForceFieldLinearInverseSquare = 'physxForceFieldLinear:inverseSquare'
    physxForceFieldLinearLinear = 'physxForceFieldLinear:linear'
    physxForceFieldNoiseAmplitude = 'physxForceFieldNoise:amplitude'
    physxForceFieldNoiseDrag = 'physxForceFieldNoise:drag'
    physxForceFieldNoiseFrequency = 'physxForceFieldNoise:frequency'
    physxForceFieldPlanarConstant = 'physxForceFieldPlanar:constant'
    physxForceFieldPlanarInverseSquare = 'physxForceFieldPlanar:inverseSquare'
    physxForceFieldPlanarLinear = 'physxForceFieldPlanar:linear'
    physxForceFieldPlanarNormal = 'physxForceFieldPlanar:normal'
    physxForceFieldPosition = 'physxForceField:position'
    physxForceFieldRange = 'physxForceField:range'
    physxForceFieldRingConstant = 'physxForceFieldRing:constant'
    physxForceFieldRingInverseSquare = 'physxForceFieldRing:inverseSquare'
    physxForceFieldRingLinear = 'physxForceFieldRing:linear'
    physxForceFieldRingNormalAxis = 'physxForceFieldRing:normalAxis'
    physxForceFieldRingRadius = 'physxForceFieldRing:radius'
    physxForceFieldRingSpinConstant = 'physxForceFieldRing:spinConstant'
    physxForceFieldRingSpinInverseSquare = 'physxForceFieldRing:spinInverseSquare'
    physxForceFieldRingSpinLinear = 'physxForceFieldRing:spinLinear'
    physxForceFieldSphericalConstant = 'physxForceFieldSpherical:constant'
    physxForceFieldSphericalInverseSquare = 'physxForceFieldSpherical:inverseSquare'
    physxForceFieldSphericalLinear = 'physxForceFieldSpherical:linear'
    physxForceFieldSpinConstant = 'physxForceFieldSpin:constant'
    physxForceFieldSpinInverseSquare = 'physxForceFieldSpin:inverseSquare'
    physxForceFieldSpinLinear = 'physxForceFieldSpin:linear'
    physxForceFieldSpinSpinAxis = 'physxForceFieldSpin:spinAxis'
    physxForceFieldSurfaceAreaScaleEnabled = 'physxForceField:surfaceAreaScaleEnabled'
    physxForceFieldSurfaceSampleDensity = 'physxForceField:surfaceSampleDensity'
    physxForceFieldWindAverageDirection = 'physxForceFieldWind:averageDirection'
    physxForceFieldWindAverageSpeed = 'physxForceFieldWind:averageSpeed'
    physxForceFieldWindDirectionVariation = 'physxForceFieldWind:directionVariation'
    physxForceFieldWindDirectionVariationFrequency = 'physxForceFieldWind:directionVariationFrequency'
    physxForceFieldWindDrag = 'physxForceFieldWind:drag'
    physxForceFieldWindSpeedVariation = 'physxForceFieldWind:speedVariation'
    physxForceFieldWindSpeedVariationFrequency = 'physxForceFieldWind:speedVariationFrequency'
    pass
