| PxAlignedMalloc.h |
!
Allocate aligned memory.
Alignment must be a power of 2!
-- should be templated by a base allocator
|
1908 |
- |
| PxAlloca.h |
! Stack allocation for \c count instances of \c type. Falling back to temp allocator if using more than 4kB. |
1746 |
- |
| PxAllocator.h |
\brief Allocator used to access the global PxAllocatorCallback instance without providing additional information.
|
4896 |
- |
| PxAllocatorCallback.h |
\brief Abstract base class for an application defined memory allocator that can be used by the Nv library.
\note The SDK state should not be modified from within any allocation/free function.
<b>Threading:</b> All methods of this class should be thread safe as it can be called from the user thread
or the physics processing thread(s).
|
1925 |
- |
| PxAoS.h |
|
492 |
- |
| PxArray.h |
!
\brief An array is a sequential container.
Implementation note:
- entries between 0 and size are valid objects
- we use inheritance to build this because the array is included inline in a lot
of objects and we want the allocator to take no space if it's not stateful, which
aggregation doesn't allow. Also, we want the metadata at the front for the inline
case where the allocator contains some inline storage space
\tparam T Element type
\tparam Alloc Allocator type (defaults to PxAllocatorTraits<T>::Type)
|
20272 |
- |
| PxAssert.h |
\brief Built-in assert function
|
2267 |
- |
| PxAtomic.h |
set *dest equal to val. Return the old value of *dest |
2307 |
- |
| PxBasicTemplates.h |
|
2364 |
- |
| PxBitAndData.h |
|
1368 |
- |
| PxBitMap.h |
!
Holds a bitmap with operations to set, reset or test individual bits.
We inhibit copy to prevent unintentional copies. If a copy is desired copy() should be used or
alternatively a copy constructor implemented.
|
17893 |
- |
| PxBitUtils.h |
!
Return the index of the lowest set bit. Not valid for zero arg.
|
2979 |
- |
| PxBounds3.h |
\brief Class representing 3D range or axis aligned bounding box.
Stored as minimum and maximum extent corners. Alternate representation
would be center and dimensions.
May be empty or nonempty. For nonempty bounds, minimum <= maximum has to hold for all axes.
Empty bounds have to be represented as minimum = PX_MAX_BOUNDS_EXTENTS and maximum = -PX_MAX_BOUNDS_EXTENTS for all
axes.
All other representations are invalid and the behavior is undefined.
|
14139 |
- |
| PxBroadcast.h |
\brief Abstract listener class that listens to allocation and deallocation events from the
foundation memory system.
<b>Threading:</b> All methods of this class should be thread safe as it can be called from the user thread
or the physics processing thread(s).
|
6438 |
- |
| PxConstructor.h |
enum for zero constructor tag for vectors and matrices |
650 |
- |
| PxErrorCallback.h |
\brief User defined interface class. Used by the library to emit debug information.
\note The SDK state should not be modified from within any error reporting functions.
<b>Threading:</b> The SDK sequences its calls to the output stream using a mutex, so the class need not
be implemented in a thread-safe manner if the SDK is the only client.
|
1192 |
- |
| PxErrors.h |
\brief Error codes
These error codes are passed to #PxErrorCallback
\see PxErrorCallback
|
3289 |
- |
| PxFlags.h |
\brief Container for bitfield flag variables associated with a specific enum type.
This allows for type safe manipulation for bitfields.
<h3>Example</h3>
// enum that defines each bit...
struct MyEnum
{
enum Enum
{
eMAN = 1,
eBEAR = 2,
ePIG = 4,
};
};
// implements some convenient global operators.
PX_FLAGS_OPERATORS(MyEnum::Enum, PxU8);
PxFlags<MyEnum::Enum, PxU8> myFlags;
myFlags |= MyEnum::eMAN;
myFlags |= MyEnum::eBEAR | MyEnum::ePIG;
if(myFlags & MyEnum::eBEAR)
{
doSomething();
}
|
11815 |
- |
| PxFoundation.h |
\brief Foundation SDK singleton class.
You need to have an instance of this class to instance the higher level SDKs.
|
6283 |
- |
| PxFoundationConfig.h |
|
778 |
- |
| PxFPU.h |
\brief Enables floating point exceptions for the scalar and SIMD unit
|
2098 |
- |
| PxHash.h |
!
Central definition of hash functions
|
2963 |
- |
| PxHashInternals.h |
|
18012 |
- |
| PxHashMap.h |
|
3301 |
- |
| PxHashSet.h |
|
3369 |
- |
| PxInlineAllocator.h |
|
1946 |
- |
| PxInlineAoS.h |
|
628 |
- |
| PxInlineArray.h |
|
1281 |
- |
| PxIntrinsics.h |
|
609 |
- |
| PxIO.h |
enum for empty constructor tag |
2442 |
- |
| PxMat33.h |
!
\brief 3x3 matrix class
Some clarifications, as there have been much confusion about matrix formats etc in the past.
Short:
- Matrix have base vectors in columns (vectors are column matrices, 3x1 matrices).
- Matrix is physically stored in column major format
- Matrices are concaternated from left
Long:
Given three base vectors a, b and c the matrix is stored as
|a.x b.x c.x|
|a.y b.y c.y|
|a.z b.z c.z|
Vectors are treated as columns, so the vector v is
|x|
|y|
|z|
And matrices are applied _before_ the vector (pre-multiplication)
v' = M*v
|x'| |a.x b.x c.x| |x| |a.x*x + b.x*y + c.x*z|
|y'| = |a.y b.y c.y| * |y| = |a.y*x + b.y*y + c.y*z|
|z'| |a.z b.z c.z| |z| |a.z*x + b.z*y + c.z*z|
Physical storage and indexing:
To be compatible with popular 3d rendering APIs (read D3d and OpenGL)
the physical indexing is
|0 3 6|
|1 4 7|
|2 5 8|
index = column*3 + row
which in C++ translates to M[column][row]
The mathematical indexing is M_row,column and this is what is used for _-notation
so _12 is 1st row, second column and operator(row, column)!
|
12489 |
- |
| PxMat34.h |
!
Basic mathematical 3x4 matrix, implemented as a 3x3 rotation matrix and a translation
See PxMat33 for the format of the rotation matrix.
|
6463 |
- |
| PxMat44.h |
!
\brief 4x4 matrix class
This class is layout-compatible with D3D and OpenGL matrices. More notes on layout are given in the PxMat33
\see PxMat33 PxTransform
|
10274 |
- |
| PxMath.h |
\brief The return value is the greater of the two specified values.
|
7841 |
- |
| PxMathIntrinsics.h |
Platform specific defines
|
833 |
- |
| PxMathUtils.h |
\brief finds the shortest rotation between two vectors.
\param[in] from the vector to start from
\param[in] target the vector to rotate to
\return a rotation about an axis normal to the two vectors which takes one to the other via the shortest path
|
26229 |
- |
| PxMemory.h |
\brief Sets the bytes of the provided buffer to zero.
\param dest [out] Pointer to block of memory to set zero.
\param count [in] Number of bytes to set to zero.
\return Pointer to memory block (same as input)
|
2987 |
- |
| PxMutex.h |
This <new> inclusion is a best known fix for gcc 4.4.1 error:
Creating object file for apex/src/PsAllocator.cpp ...
In file included from apex/include/PsFoundation.h:30,
from apex/src/PsAllocator.cpp:26:
apex/include/PsMutex.h: In constructor 'physx::PxMutexT<Alloc>::MutexT(const Alloc&)':
apex/include/PsMutex.h:92: error: no matching function for call to 'operator new(unsigned int,
physx::PxMutexImpl*&)'
<built-in>:0: note: candidates are: void* operator new(unsigned int)
|
3454 |
- |
| PxPhysicsVersion.h |
VersionNumbers: The combination of these
numbers uniquely identifies the API, and should
be incremented when the SDK API changes. This may
include changes to file formats.
This header is included in the main SDK header files
so that the entire SDK and everything that builds on it
is completely rebuilt when this file changes. Thus,
this file is not to include a frequently changing
build number. See BuildNumber.h for that.
Each of these three values should stay below 255 because
sometimes they are stored in a byte.
|
1310 |
- |
| PxPlane.h |
\brief Representation of a plane.
Plane equation used: n.dot(v) + d = 0
|
2877 |
- |
| PxPool.h |
!
Simple allocation pool
|
6078 |
- |
| PxPreprocessor.h |
The following preprocessor identifiers specify compiler, OS, and architecture.
All definitions have a value of 1 or 0, use '#if' instead of '#ifdef'.
|
12406 |
- |
| PxProfiler.h |
\brief The pure virtual callback interface for general purpose instrumentation and profiling of GameWorks modules as
well as applications
|
4137 |
- |
| PxQuat.h |
\brief This is a quaternion class. For more information on quaternion mathematics
consult a mathematics source on complex numbers.
|
10237 |
- |
| PxSIMDHelpers.h |
|
3272 |
- |
| PxSimpleTypes.h |
|
2546 |
- |
| PxSList.h |
|
2203 |
- |
| PxSocket.h |
Socket abstraction API
|
3669 |
- |
| PxSort.h |
\brief Sorts an array of objects in ascending order, assuming
that the predicate implements the < operator:
\see PxLess, PxGreater
|
2474 |
- |
| PxSortInternals.h |
This creates sentinels because we know there is an element at the start minimum(or equal)
than the pivot and an element at the end greater(or equal) than the pivot. Plus the
median of 3 reduces the chance of degenerate behavour.
|
3793 |
- |
| PxStrideIterator.h |
\brief Iterator class for iterating over arrays of data that may be interleaved with other data.
This class is used for iterating over arrays of elements that may have a larger element to element
offset, called the stride, than the size of the element itself (non-contiguous).
The template parameter T denotes the type of the element accessed. The stride itself
is stored as a member field so multiple instances of a PxStrideIterator class can have
different strides. This is useful for cases were the stride depends on runtime configuration.
The stride iterator can be used for index based access, e.g.:
\code
PxStrideIterator<PxVec3> strideArray(...);
for (unsigned i = 0; i < 10; ++i)
{
PxVec3& vec = strideArray[i];
...
}
\endcode
or iteration by increment, e.g.:
\code
PxStrideIterator<PxVec3> strideBegin(...);
PxStrideIterator<PxVec3> strideEnd(strideBegin + 10);
for (PxStrideIterator<PxVec3> it = strideBegin; it < strideEnd; ++it)
{
PxVec3& vec = *it;
...
}
\endcode
Two special cases:
- A stride of sizeof(T) represents a regular c array of type T.
- A stride of 0 can be used to describe re-occurrence of the same element multiple times.
|
7041 |
- |
| PxString.h |
\brief Prints the string literally (does not consume % specifier), trying to make sure it's visible to the app
programmer
|
2215 |
- |
| PxSync.h |
!
Implementation notes:
- Calling set() on an already signaled Sync does not change its state.
- Calling reset() on an already reset Sync does not change its state.
- Calling set() on a reset Sync wakes all waiting threads (potential for thread contention).
- Calling wait() on an already signaled Sync will return true immediately.
- NOTE: be careful when pulsing an event with set() followed by reset(), because a
thread that is not waiting on the event will miss the signal.
|
2992 |
- |
| PxTempAllocator.h |
|
686 |
- |
| PxThread.h |
Construct (but do not start) the thread object. The OS thread object will not be created
until start() is called. Executes in the context
of the spawning thread.
|
8282 |
- |
| PxTime.h |
|
1666 |
- |
| PxTransform.h |
!
\brief class representing a rigid euclidean transform as a quaternion and a vector
|
5901 |
- |
| PxUnionCast.h |
|
798 |
- |
| PxUserAllocated.h |
Provides new and delete using a UserAllocator.
Guarantees that 'delete x;' uses the UserAllocator too.
|
2364 |
- |
| PxUtilities.h |
!
Get number of elements in array
|
2603 |
- |
| PxVec2.h |
\brief 2 Element vector class.
This is a 2-dimensional vector class with public data members.
|
6121 |
- |
| PxVec3.h |
\brief 3 Element vector class.
This is a 3-dimensional vector class with public data members.
|
8641 |
- |
| PxVec4.h |
\brief 4 Element vector class.
This is a 4-dimensional vector class with public data members.
|
6887 |
- |
| PxVecMath.h |
|
49342 |
- |
| PxVecMathAoSScalar.h |
|
3666 |
- |
| PxVecMathAoSScalarInline.h |
|
56995 |
- |
| PxVecMathSSE.h |
|
74448 |
- |
| PxVecQuat.h |
const FloatV sina = FSin(hangle);
const FloatV cosa = FCos(hangle); |
13619 |
- |
| PxVecTransform.h |
\brief returns true if finite and q is a unit quaternion
|
6211 |
- |
| unix |
|
|
- |
| windows |
|
|
- |