Package physx.physics

Class PxSceneDesc

java.lang.Object
physx.NativeObject
physx.physics.PxSceneDesc

public class PxSceneDesc extends NativeObject
Descriptor class for scenes. See #PxScene.

This struct must be initialized with the same PxTolerancesScale values used to initialize PxPhysics.

See Also:
  • Field Details

    • SIZEOF

      public static final int SIZEOF
    • ALIGNOF

      public static final int ALIGNOF
      See Also:
  • Constructor Details

    • PxSceneDesc

      protected PxSceneDesc()
    • PxSceneDesc

      protected PxSceneDesc(long address)
    • PxSceneDesc

      public PxSceneDesc(PxTolerancesScale scale)
      constructor sets to default.
      Parameters:
      scale - scale values for the tolerances in the scene, these must be the same values passed into PxCreatePhysics(). The affected tolerances are bounceThresholdVelocity and frictionOffsetThreshold.
      See Also:
  • Method Details

    • wrapPointer

      public static PxSceneDesc wrapPointer(long address)
    • arrayGet

      public static PxSceneDesc arrayGet(long baseAddress, int index)
    • createAt

      public static PxSceneDesc createAt(long address, PxTolerancesScale scale)
      Parameters:
      address - Pre-allocated memory, where the object is created.
      scale - WebIDL type: PxTolerancesScale [Const, Ref]
      Returns:
      Stack allocated object of PxSceneDesc
    • createAt

      public static <T> PxSceneDesc createAt(T allocator, NativeObject.Allocator<T> allocate, PxTolerancesScale scale)
      Type Parameters:
      T - Allocator class, e.g. LWJGL's MemoryStack.
      Parameters:
      allocator - Object to use for allocation, e.g. an instance of LWJGL's MemoryStack.
      allocate - Method to call on allocator to obtain the target address, e.g. MemoryStack::nmalloc.
      scale - WebIDL type: PxTolerancesScale [Const, Ref]
      Returns:
      Stack allocated object of PxSceneDesc
    • destroy

      public void destroy()
    • getGravity

      public PxVec3 getGravity()
      Gravity vector.

      Range: force vector
      Default: Zero

      See Also:
    • setGravity

      public void setGravity(PxVec3 value)
      Gravity vector.

      Range: force vector
      Default: Zero

      See Also:
    • getSimulationEventCallback

      public PxSimulationEventCallback getSimulationEventCallback()
      Possible notification callback.

      Default: NULL

      See Also:
    • setSimulationEventCallback

      public void setSimulationEventCallback(PxSimulationEventCallback value)
      Possible notification callback.

      Default: NULL

      See Also:
    • getFilterShaderData

      public NativeObject getFilterShaderData()
      Shared global filter data which will get passed into the filter shader.

      Note: The provided data will get copied to internal buffers and this copy will be used for filtering calls.

      Default: NULL

      See Also:
    • setFilterShaderData

      public void setFilterShaderData(NativeObject value)
      Shared global filter data which will get passed into the filter shader.

      Note: The provided data will get copied to internal buffers and this copy will be used for filtering calls.

      Default: NULL

      See Also:
    • getFilterShaderDataSize

      public int getFilterShaderDataSize()
      Size (in bytes) of the shared global filter data #filterShaderData.

      Default: 0

      See Also:
    • setFilterShaderDataSize

      public void setFilterShaderDataSize(int value)
      Size (in bytes) of the shared global filter data #filterShaderData.

      Default: 0

      See Also:
    • getFilterShader

      public PxSimulationFilterShader getFilterShader()
      The custom filter shader to use for collision filtering.

      Note: This parameter is compulsory. If you don't want to define your own filter shader you can use the default shader #PxDefaultSimulationFilterShader which can be found in the PhysX extensions library.

      See Also:
    • setFilterShader

      public void setFilterShader(PxSimulationFilterShader value)
      The custom filter shader to use for collision filtering.

      Note: This parameter is compulsory. If you don't want to define your own filter shader you can use the default shader #PxDefaultSimulationFilterShader which can be found in the PhysX extensions library.

      See Also:
    • getKineKineFilteringMode

      public PxPairFilteringModeEnum getKineKineFilteringMode()
      Filtering mode for kinematic-kinematic pairs in the broadphase.

      Default: PxPairFilteringMode::eDEFAULT

      See Also:
    • setKineKineFilteringMode

      public void setKineKineFilteringMode(PxPairFilteringModeEnum value)
      Filtering mode for kinematic-kinematic pairs in the broadphase.

      Default: PxPairFilteringMode::eDEFAULT

      See Also:
    • getStaticKineFilteringMode

      public PxPairFilteringModeEnum getStaticKineFilteringMode()
      Filtering mode for static-kinematic pairs in the broadphase.

      Default: PxPairFilteringMode::eDEFAULT

      See Also:
    • setStaticKineFilteringMode

      public void setStaticKineFilteringMode(PxPairFilteringModeEnum value)
      Filtering mode for static-kinematic pairs in the broadphase.

      Default: PxPairFilteringMode::eDEFAULT

      See Also:
    • getBroadPhaseType

      public PxBroadPhaseTypeEnum getBroadPhaseType()
      Selects the broad-phase algorithm to use.

      Default: PxBroadPhaseType::ePABP

      See Also:
    • setBroadPhaseType

      public void setBroadPhaseType(PxBroadPhaseTypeEnum value)
      Selects the broad-phase algorithm to use.

      Default: PxBroadPhaseType::ePABP

      See Also:
    • getLimits

      public PxSceneLimits getLimits()
      Expected scene limits.
      See Also:
    • setLimits

      public void setLimits(PxSceneLimits value)
      Expected scene limits.
      See Also:
    • getFrictionType

      public PxFrictionTypeEnum getFrictionType()
      Selects the friction algorithm to use for simulation.

      Note: frictionType cannot be modified after the first call to any of PxScene::simulate, PxScene::solve and PxScene::collide

      Default: PxFrictionType::ePATCH

      See Also:
    • setFrictionType

      public void setFrictionType(PxFrictionTypeEnum value)
      Selects the friction algorithm to use for simulation.

      Note: frictionType cannot be modified after the first call to any of PxScene::simulate, PxScene::solve and PxScene::collide

      Default: PxFrictionType::ePATCH

      See Also:
    • getSolverType

      public PxSolverTypeEnum getSolverType()
      Selects the solver algorithm to use.

      Default: PxSolverType::ePGS

      See Also:
    • setSolverType

      public void setSolverType(PxSolverTypeEnum value)
      Selects the solver algorithm to use.

      Default: PxSolverType::ePGS

      See Also:
    • getBounceThresholdVelocity

      public float getBounceThresholdVelocity()
      A contact with a relative velocity below this will not bounce. A typical value for simulation. stability is about 0.2 * gravity.

      Range: (0, PX_MAX_F32)
      Default: 0.2 * PxTolerancesScale::speed

      See Also:
    • setBounceThresholdVelocity

      public void setBounceThresholdVelocity(float value)
      A contact with a relative velocity below this will not bounce. A typical value for simulation. stability is about 0.2 * gravity.

      Range: (0, PX_MAX_F32)
      Default: 0.2 * PxTolerancesScale::speed

      See Also:
    • getFrictionOffsetThreshold

      public float getFrictionOffsetThreshold()
      A threshold of contact separation distance used to decide if a contact point will experience friction forces.

      Note: If the separation distance of a contact point is greater than the threshold then the contact point will not experience friction forces.

      Note: If the aggregated contact offset of a pair of shapes is large it might be desirable to neglect friction for contact points whose separation distance is sufficiently large that the shape surfaces are clearly separated.

      Note: This parameter can be used to tune the separation distance of contact points at which friction starts to have an effect.

      Range: [0, PX_MAX_F32)
      Default: 0.04 * PxTolerancesScale::length

      See Also:
    • setFrictionOffsetThreshold

      public void setFrictionOffsetThreshold(float value)
      A threshold of contact separation distance used to decide if a contact point will experience friction forces.

      Note: If the separation distance of a contact point is greater than the threshold then the contact point will not experience friction forces.

      Note: If the aggregated contact offset of a pair of shapes is large it might be desirable to neglect friction for contact points whose separation distance is sufficiently large that the shape surfaces are clearly separated.

      Note: This parameter can be used to tune the separation distance of contact points at which friction starts to have an effect.

      Range: [0, PX_MAX_F32)
      Default: 0.04 * PxTolerancesScale::length

      See Also:
    • getFrictionCorrelationDistance

      public float getFrictionCorrelationDistance()
      Friction correlation distance used to decide whether contacts are close enough to be merged into a single friction anchor point or not.

      Note: If the correlation distance is larger than the distance between contact points generated between a pair of shapes, some of the contacts may not experience frictional forces.

      Note: This parameter can be used to tune the correlation distance used in the solver. Contact points can be merged into a single friction anchor if the distance between the contacts is smaller than correlation distance.

      Range: [0, PX_MAX_F32)
      Default: 0.025f * PxTolerancesScale::length

      See Also:
    • setFrictionCorrelationDistance

      public void setFrictionCorrelationDistance(float value)
      Friction correlation distance used to decide whether contacts are close enough to be merged into a single friction anchor point or not.

      Note: If the correlation distance is larger than the distance between contact points generated between a pair of shapes, some of the contacts may not experience frictional forces.

      Note: This parameter can be used to tune the correlation distance used in the solver. Contact points can be merged into a single friction anchor if the distance between the contacts is smaller than correlation distance.

      Range: [0, PX_MAX_F32)
      Default: 0.025f * PxTolerancesScale::length

      See Also:
    • getFlags

      public PxSceneFlags getFlags()
      Flags used to select scene options.

      Default: PxSceneFlag::eENABLE_PCM

      See Also:
    • setFlags

      public void setFlags(PxSceneFlags value)
      Flags used to select scene options.

      Default: PxSceneFlag::eENABLE_PCM

      See Also:
    • getCpuDispatcher

      public PxCpuDispatcher getCpuDispatcher()
      The CPU task dispatcher for the scene.
    • setCpuDispatcher

      public void setCpuDispatcher(PxCpuDispatcher value)
      The CPU task dispatcher for the scene.
    • getCudaContextManager

      public PxCudaContextManager getCudaContextManager()
      The CUDA context manager for the scene.

      Platform specific: Applies to PC GPU only.

    • setCudaContextManager

      public void setCudaContextManager(PxCudaContextManager value)
      The CUDA context manager for the scene.

      Platform specific: Applies to PC GPU only.

    • getUserData

      public NativeObject getUserData()
      Will be copied to PxScene::userData.

      Default: NULL

    • setUserData

      public void setUserData(NativeObject value)
      Will be copied to PxScene::userData.

      Default: NULL

    • getSolverBatchSize

      public int getSolverBatchSize()
      Defines the number of actors required to spawn a separate rigid body solver island task chain.

      This parameter defines the minimum number of actors required to spawn a separate rigid body solver task chain. Setting a low value will potentially cause more task chains to be generated. This may result in the overhead of spawning tasks can become a limiting performance factor. Setting a high value will potentially cause fewer islands to be generated. This may reduce thread scaling (fewer task chains spawned) and may detrimentally affect performance if some bodies in the scene have large solver iteration counts because all constraints in a given island are solved by the maximum number of solver iterations requested by any body in the island.

      Note that a rigid body solver task chain is spawned as soon as either a sufficient number of rigid bodies or articulations are batched together.

      Default: 128

      See Also:
    • setSolverBatchSize

      public void setSolverBatchSize(int value)
      Defines the number of actors required to spawn a separate rigid body solver island task chain.

      This parameter defines the minimum number of actors required to spawn a separate rigid body solver task chain. Setting a low value will potentially cause more task chains to be generated. This may result in the overhead of spawning tasks can become a limiting performance factor. Setting a high value will potentially cause fewer islands to be generated. This may reduce thread scaling (fewer task chains spawned) and may detrimentally affect performance if some bodies in the scene have large solver iteration counts because all constraints in a given island are solved by the maximum number of solver iterations requested by any body in the island.

      Note that a rigid body solver task chain is spawned as soon as either a sufficient number of rigid bodies or articulations are batched together.

      Default: 128

      See Also:
    • getSolverArticulationBatchSize

      public int getSolverArticulationBatchSize()
      Defines the number of articulations required to spawn a separate rigid body solver island task chain.

      This parameter defines the minimum number of articulations required to spawn a separate rigid body solver task chain. Setting a low value will potentially cause more task chains to be generated. This may result in the overhead of spawning tasks can become a limiting performance factor. Setting a high value will potentially cause fewer islands to be generated. This may reduce thread scaling (fewer task chains spawned) and may detrimentally affect performance if some bodies in the scene have large solver iteration counts because all constraints in a given island are solved by the maximum number of solver iterations requested by any body in the island.

      Note that a rigid body solver task chain is spawned as soon as either a sufficient number of rigid bodies or articulations are batched together.

      Default: 16

      See Also:
    • setSolverArticulationBatchSize

      public void setSolverArticulationBatchSize(int value)
      Defines the number of articulations required to spawn a separate rigid body solver island task chain.

      This parameter defines the minimum number of articulations required to spawn a separate rigid body solver task chain. Setting a low value will potentially cause more task chains to be generated. This may result in the overhead of spawning tasks can become a limiting performance factor. Setting a high value will potentially cause fewer islands to be generated. This may reduce thread scaling (fewer task chains spawned) and may detrimentally affect performance if some bodies in the scene have large solver iteration counts because all constraints in a given island are solved by the maximum number of solver iterations requested by any body in the island.

      Note that a rigid body solver task chain is spawned as soon as either a sufficient number of rigid bodies or articulations are batched together.

      Default: 16

      See Also:
    • getNbContactDataBlocks

      public int getNbContactDataBlocks()
      Setting to define the number of 16K blocks that will be initially reserved to store contact, friction, and contact cache data. This is the number of 16K memory blocks that will be automatically allocated from the user allocator when the scene is instantiated. Further 16k memory blocks may be allocated during the simulation up to maxNbContactDataBlocks.

      Note: This value cannot be larger than maxNbContactDataBlocks because that defines the maximum number of 16k blocks that can be allocated by the SDK.

      Default: 0

      Range: [0, PX_MAX_U32]

    • setNbContactDataBlocks

      public void setNbContactDataBlocks(int value)
      Setting to define the number of 16K blocks that will be initially reserved to store contact, friction, and contact cache data. This is the number of 16K memory blocks that will be automatically allocated from the user allocator when the scene is instantiated. Further 16k memory blocks may be allocated during the simulation up to maxNbContactDataBlocks.

      Note: This value cannot be larger than maxNbContactDataBlocks because that defines the maximum number of 16k blocks that can be allocated by the SDK.

      Default: 0

      Range: [0, PX_MAX_U32]

    • getMaxNbContactDataBlocks

      public int getMaxNbContactDataBlocks()
      Setting to define the maximum number of 16K blocks that can be allocated to store contact, friction, and contact cache data. As the complexity of a scene increases, the SDK may require to allocate new 16k blocks in addition to the blocks it has already allocated. This variable controls the maximum number of blocks that the SDK can allocate.

      In the case that the scene is sufficiently complex that all the permitted 16K blocks are used, contacts will be dropped and a warning passed to the error stream.

      If a warning is reported to the error stream to indicate the number of 16K blocks is insufficient for the scene complexity then the choices are either (i) re-tune the number of 16K data blocks until a number is found that is sufficient for the scene complexity, (ii) to simplify the scene or (iii) to opt to not increase the memory requirements of physx and accept some dropped contacts.

      Default: 65536

      Range: [0, PX_MAX_U32]

      See Also:
    • setMaxNbContactDataBlocks

      public void setMaxNbContactDataBlocks(int value)
      Setting to define the maximum number of 16K blocks that can be allocated to store contact, friction, and contact cache data. As the complexity of a scene increases, the SDK may require to allocate new 16k blocks in addition to the blocks it has already allocated. This variable controls the maximum number of blocks that the SDK can allocate.

      In the case that the scene is sufficiently complex that all the permitted 16K blocks are used, contacts will be dropped and a warning passed to the error stream.

      If a warning is reported to the error stream to indicate the number of 16K blocks is insufficient for the scene complexity then the choices are either (i) re-tune the number of 16K data blocks until a number is found that is sufficient for the scene complexity, (ii) to simplify the scene or (iii) to opt to not increase the memory requirements of physx and accept some dropped contacts.

      Default: 65536

      Range: [0, PX_MAX_U32]

      See Also:
    • getMaxBiasCoefficient

      public float getMaxBiasCoefficient()
      The maximum bias coefficient used in the constraint solver

      When geometric errors are found in the constraint solver, either as a result of shapes penetrating or joints becoming separated or violating limits, a bias is introduced in the solver position iterations to correct these errors. This bias is proportional to 1/dt, meaning that the bias becomes increasingly strong as the time-step passed to PxScene::simulate(...) becomes smaller. This coefficient allows the application to restrict how large the bias coefficient is, to reduce how violent error corrections are. This can improve simulation quality in cases where either variable time-steps or extremely small time-steps are used.

      Default: PX_MAX_F32

      Range [0, PX_MAX_F32]

      See Also:
    • setMaxBiasCoefficient

      public void setMaxBiasCoefficient(float value)
      The maximum bias coefficient used in the constraint solver

      When geometric errors are found in the constraint solver, either as a result of shapes penetrating or joints becoming separated or violating limits, a bias is introduced in the solver position iterations to correct these errors. This bias is proportional to 1/dt, meaning that the bias becomes increasingly strong as the time-step passed to PxScene::simulate(...) becomes smaller. This coefficient allows the application to restrict how large the bias coefficient is, to reduce how violent error corrections are. This can improve simulation quality in cases where either variable time-steps or extremely small time-steps are used.

      Default: PX_MAX_F32

      Range [0, PX_MAX_F32]

      See Also:
    • getContactReportStreamBufferSize

      public int getContactReportStreamBufferSize()
      Size of the contact report stream (in bytes).

      The contact report stream buffer is used during the simulation to store all the contact reports. If the size is not sufficient, the buffer will grow by a factor of two. It is possible to disable the buffer growth by setting the flag PxSceneFlag::eDISABLE_CONTACT_REPORT_BUFFER_RESIZE. In that case the buffer will not grow but contact reports not stored in the buffer will not get sent in the contact report callbacks.

      Default: 8192

      Range: (0, PX_MAX_U32]

      See Also:
    • setContactReportStreamBufferSize

      public void setContactReportStreamBufferSize(int value)
      Size of the contact report stream (in bytes).

      The contact report stream buffer is used during the simulation to store all the contact reports. If the size is not sufficient, the buffer will grow by a factor of two. It is possible to disable the buffer growth by setting the flag PxSceneFlag::eDISABLE_CONTACT_REPORT_BUFFER_RESIZE. In that case the buffer will not grow but contact reports not stored in the buffer will not get sent in the contact report callbacks.

      Default: 8192

      Range: (0, PX_MAX_U32]

      See Also:
    • getCcdMaxPasses

      public int getCcdMaxPasses()
      Maximum number of CCD passes

      The CCD performs multiple passes, where each pass every object advances to its time of first impact. This value defines how many passes the CCD system should perform.

      Note: The CCD system is a multi-pass best-effort conservative advancement approach. After the defined number of passes has been completed, any remaining time is dropped. Note: This defines the maximum number of passes the CCD can perform. It may perform fewer if additional passes are not necessary.

      Default: 1 Range: [1, PX_MAX_U32]

      See Also:
    • setCcdMaxPasses

      public void setCcdMaxPasses(int value)
      Maximum number of CCD passes

      The CCD performs multiple passes, where each pass every object advances to its time of first impact. This value defines how many passes the CCD system should perform.

      Note: The CCD system is a multi-pass best-effort conservative advancement approach. After the defined number of passes has been completed, any remaining time is dropped. Note: This defines the maximum number of passes the CCD can perform. It may perform fewer if additional passes are not necessary.

      Default: 1 Range: [1, PX_MAX_U32]

      See Also:
    • getCcdThreshold

      public float getCcdThreshold()
      CCD threshold

      CCD performs sweeps against shapes if and only if the relative motion of the shapes is fast-enough that a collision would be missed by the discrete contact generation. However, in some circumstances, e.g. when the environment is constructed from large convex shapes, this approach may produce undesired simulation artefacts. This parameter defines the minimum relative motion that would be required to force CCD between shapes. The smaller of this value and the sum of the thresholds calculated for the shapes involved will be used.

      Note: It is not advisable to set this to a very small value as this may lead to CCD "jamming" and detrimentally effect performance. This value should be at least larger than the translation caused by a single frame's gravitational effect

      Default: PX_MAX_F32 Range: [Eps, PX_MAX_F32]

      See Also:
    • setCcdThreshold

      public void setCcdThreshold(float value)
      CCD threshold

      CCD performs sweeps against shapes if and only if the relative motion of the shapes is fast-enough that a collision would be missed by the discrete contact generation. However, in some circumstances, e.g. when the environment is constructed from large convex shapes, this approach may produce undesired simulation artefacts. This parameter defines the minimum relative motion that would be required to force CCD between shapes. The smaller of this value and the sum of the thresholds calculated for the shapes involved will be used.

      Note: It is not advisable to set this to a very small value as this may lead to CCD "jamming" and detrimentally effect performance. This value should be at least larger than the translation caused by a single frame's gravitational effect

      Default: PX_MAX_F32 Range: [Eps, PX_MAX_F32]

      See Also:
    • getCcdMaxSeparation

      public float getCcdMaxSeparation()
      A threshold for speculative CCD. Used to control whether bias, restitution or a combination of the two are used to resolve the contacts.

      Note: This only has any effect on contacting pairs where one of the bodies has PxRigidBodyFlag::eENABLE_SPECULATIVE_CCD raised.

      Range: [0, PX_MAX_F32)
      Default: 0.04 * PxTolerancesScale::length

      See Also:
    • setCcdMaxSeparation

      public void setCcdMaxSeparation(float value)
      A threshold for speculative CCD. Used to control whether bias, restitution or a combination of the two are used to resolve the contacts.

      Note: This only has any effect on contacting pairs where one of the bodies has PxRigidBodyFlag::eENABLE_SPECULATIVE_CCD raised.

      Range: [0, PX_MAX_F32)
      Default: 0.04 * PxTolerancesScale::length

      See Also:
    • getWakeCounterResetValue

      public float getWakeCounterResetValue()
      The wake counter reset value

      Calling wakeUp() on objects which support sleeping will set their wake counter value to the specified reset value.

      Range: (0, PX_MAX_F32)
      Default: 0.4 (which corresponds to 20 frames for a time step of 0.02)

      See Also:
    • setWakeCounterResetValue

      public void setWakeCounterResetValue(float value)
      The wake counter reset value

      Calling wakeUp() on objects which support sleeping will set their wake counter value to the specified reset value.

      Range: (0, PX_MAX_F32)
      Default: 0.4 (which corresponds to 20 frames for a time step of 0.02)

      See Also:
    • getSanityBounds

      public PxBounds3 getSanityBounds()
      The bounds used to sanity check user-set positions of actors and articulation links

      These bounds are used to check the position values of rigid actors inserted into the scene, and positions set for rigid actors already within the scene.

      Range: any valid PxBounds3
      Default: (-PX_MAX_BOUNDS_EXTENTS, PX_MAX_BOUNDS_EXTENTS) on each axis

    • setSanityBounds

      public void setSanityBounds(PxBounds3 value)
      The bounds used to sanity check user-set positions of actors and articulation links

      These bounds are used to check the position values of rigid actors inserted into the scene, and positions set for rigid actors already within the scene.

      Range: any valid PxBounds3
      Default: (-PX_MAX_BOUNDS_EXTENTS, PX_MAX_BOUNDS_EXTENTS) on each axis

    • getGpuDynamicsConfig

      public PxgDynamicsMemoryConfig getGpuDynamicsConfig()
      The pre-allocations performed in the GPU dynamics pipeline.
    • setGpuDynamicsConfig

      public void setGpuDynamicsConfig(PxgDynamicsMemoryConfig value)
      The pre-allocations performed in the GPU dynamics pipeline.
    • getGpuMaxNumPartitions

      public int getGpuMaxNumPartitions()
      Limitation for the partitions in the GPU dynamics pipeline. This variable must be power of 2. A value greater than 32 is currently not supported. Range: (1, 32)
    • setGpuMaxNumPartitions

      public void setGpuMaxNumPartitions(int value)
      Limitation for the partitions in the GPU dynamics pipeline. This variable must be power of 2. A value greater than 32 is currently not supported. Range: (1, 32)
    • getGpuMaxNumStaticPartitions

      public int getGpuMaxNumStaticPartitions()
      Limitation for the number of static rigid body partitions in the GPU dynamics pipeline. Range: (1, 255)
      Default: 16
    • setGpuMaxNumStaticPartitions

      public void setGpuMaxNumStaticPartitions(int value)
      Limitation for the number of static rigid body partitions in the GPU dynamics pipeline. Range: (1, 255)
      Default: 16
    • getGpuComputeVersion

      public int getGpuComputeVersion()
      Defines which compute version the GPU dynamics should target. DO NOT MODIFY
    • setGpuComputeVersion

      public void setGpuComputeVersion(int value)
      Defines which compute version the GPU dynamics should target. DO NOT MODIFY
    • getContactPairSlabSize

      public int getContactPairSlabSize()
      Defines the size of a contact pool slab. Contact pairs and associated data are allocated using a pool allocator. Increasing the slab size can trade off some performance spikes when a large number of new contacts are found for an increase in overall memory usage.

      Range:(1, PX_MAX_U32)
      Default: 256

    • setContactPairSlabSize

      public void setContactPairSlabSize(int value)
      Defines the size of a contact pool slab. Contact pairs and associated data are allocated using a pool allocator. Increasing the slab size can trade off some performance spikes when a large number of new contacts are found for an increase in overall memory usage.

      Range:(1, PX_MAX_U32)
      Default: 256

    • getStaticStructure

      public PxPruningStructureTypeEnum getStaticStructure()
      Returns:
      WebIDL type: PxPruningStructureTypeEnum [enum]
    • setStaticStructure

      public void setStaticStructure(PxPruningStructureTypeEnum value)
      Parameters:
      value - WebIDL type: PxPruningStructureTypeEnum [enum]
    • getDynamicStructure

      public PxPruningStructureTypeEnum getDynamicStructure()
      Returns:
      WebIDL type: PxPruningStructureTypeEnum [enum]
    • setDynamicStructure

      public void setDynamicStructure(PxPruningStructureTypeEnum value)
      Parameters:
      value - WebIDL type: PxPruningStructureTypeEnum [enum]
    • getDynamicTreeRebuildRateHint

      public int getDynamicTreeRebuildRateHint()
      Returns:
      WebIDL type: unsigned long
    • setDynamicTreeRebuildRateHint

      public void setDynamicTreeRebuildRateHint(int value)
      Parameters:
      value - WebIDL type: unsigned long
    • getDynamicTreeSecondaryPruner

      public PxDynamicTreeSecondaryPrunerEnum getDynamicTreeSecondaryPruner()
      Returns:
      WebIDL type: PxDynamicTreeSecondaryPrunerEnum [enum]
    • setDynamicTreeSecondaryPruner

      public void setDynamicTreeSecondaryPruner(PxDynamicTreeSecondaryPrunerEnum value)
      Parameters:
      value - WebIDL type: PxDynamicTreeSecondaryPrunerEnum [enum]
    • getStaticBVHBuildStrategy

      public PxBVHBuildStrategyEnum getStaticBVHBuildStrategy()
      Returns:
      WebIDL type: PxBVHBuildStrategyEnum [enum]
    • setStaticBVHBuildStrategy

      public void setStaticBVHBuildStrategy(PxBVHBuildStrategyEnum value)
      Parameters:
      value - WebIDL type: PxBVHBuildStrategyEnum [enum]
    • getDynamicBVHBuildStrategy

      public PxBVHBuildStrategyEnum getDynamicBVHBuildStrategy()
      Returns:
      WebIDL type: PxBVHBuildStrategyEnum [enum]
    • setDynamicBVHBuildStrategy

      public void setDynamicBVHBuildStrategy(PxBVHBuildStrategyEnum value)
      Parameters:
      value - WebIDL type: PxBVHBuildStrategyEnum [enum]
    • getStaticNbObjectsPerNode

      public int getStaticNbObjectsPerNode()
      Returns:
      WebIDL type: unsigned long
    • setStaticNbObjectsPerNode

      public void setStaticNbObjectsPerNode(int value)
      Parameters:
      value - WebIDL type: unsigned long
    • getDynamicNbObjectsPerNode

      public int getDynamicNbObjectsPerNode()
      Returns:
      WebIDL type: unsigned long
    • setDynamicNbObjectsPerNode

      public void setDynamicNbObjectsPerNode(int value)
      Parameters:
      value - WebIDL type: unsigned long
    • getSceneQueryUpdateMode

      public PxSceneQueryUpdateModeEnum getSceneQueryUpdateMode()
      Returns:
      WebIDL type: PxSceneQueryUpdateModeEnum [enum]
    • setSceneQueryUpdateMode

      public void setSceneQueryUpdateMode(PxSceneQueryUpdateModeEnum value)
      Parameters:
      value - WebIDL type: PxSceneQueryUpdateModeEnum [enum]
    • setToDefault

      public void setToDefault(PxTolerancesScale scale)
      (re)sets the structure to the default.
      Parameters:
      scale - scale values for the tolerances in the scene, these must be the same values passed into PxCreatePhysics(). The affected tolerances are bounceThresholdVelocity and frictionOffsetThreshold.
      See Also:
    • isValid

      public boolean isValid()
      Returns true if the descriptor is valid.
      Returns:
      true if the current settings are valid.