From 3dfe2108cfab31ba3ee5527e217d0d8e99a51162 Mon Sep 17 00:00:00 2001 From: git perforce import user Date: Tue, 25 Oct 2016 12:29:14 -0600 Subject: Initial commit: PhysX 3.4.0 Update @ 21294896 APEX 1.4.0 Update @ 21275617 [CL 21300167] --- .../PhysXAPI/files/classPxStrideIterator.html | 821 +++++++++++++++++++++ 1 file changed, 821 insertions(+) create mode 100644 PhysX_3.4/Documentation/PhysXAPI/files/classPxStrideIterator.html (limited to 'PhysX_3.4/Documentation/PhysXAPI/files/classPxStrideIterator.html') diff --git a/PhysX_3.4/Documentation/PhysXAPI/files/classPxStrideIterator.html b/PhysX_3.4/Documentation/PhysXAPI/files/classPxStrideIterator.html new file mode 100644 index 00000000..4c9e3a68 --- /dev/null +++ b/PhysX_3.4/Documentation/PhysXAPI/files/classPxStrideIterator.html @@ -0,0 +1,821 @@ + + + NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxStrideIterator< T > Class Template Reference + + + + + + + +
+

PxStrideIterator< T > Class Template Reference
+ +[Foundation] +

Iterator class for iterating over arrays of data that may be interleaved with other data. +More... +

+#include <PxStrideIterator.h> +

+

+Collaboration diagram for PxStrideIterator< T >:
+
+

Collaboration graph
+
[legend]
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

PX_INLINE PxStrideIterator (T *ptr=NULL, PxU32 stride=sizeof(T))
 Constructor.
PX_INLINE PxStrideIterator (const PxStrideIterator< typename StripConst< T >::Type > &strideIterator)
 Copy constructor.
PX_INLINE T * ptr () const
 Get pointer to element.
PX_INLINE PxU32 stride () const
 Get stride.
PX_INLINE T & operator* () const
 Indirection operator.
PX_INLINE T * operator-> () const
 Dereferencing operator.
PX_INLINE T & operator[] (unsigned int i) const
 Indexing operator.
PX_INLINE PxStrideIteratoroperator++ ()
 Pre-increment operator.
PX_INLINE PxStrideIterator operator++ (int)
 Post-increment operator.
PX_INLINE PxStrideIteratoroperator-- ()
 Pre-decrement operator.
PX_INLINE PxStrideIterator operator-- (int)
 Post-decrement operator.
PX_INLINE PxStrideIterator operator+ (unsigned int i) const
 Addition operator.
PX_INLINE PxStrideIterator operator- (unsigned int i) const
 Subtraction operator.
PX_INLINE PxStrideIteratoroperator+= (unsigned int i)
 Addition compound assignment operator.
PX_INLINE PxStrideIteratoroperator-= (unsigned int i)
 Subtraction compound assignment operator.
PX_INLINE int operator- (const PxStrideIterator &other) const
 Iterator difference.
PX_INLINE bool operator== (const PxStrideIterator &other) const
 Equality operator.
PX_INLINE bool operator!= (const PxStrideIterator &other) const
 Inequality operator.
PX_INLINE bool operator< (const PxStrideIterator &other) const
 Less than operator.
PX_INLINE bool operator> (const PxStrideIterator &other) const
 Greater than operator.
PX_INLINE bool operator<= (const PxStrideIterator &other) const
 Less or equal than operator.
PX_INLINE bool operator>= (const PxStrideIterator &other) const
 Greater or equal than operator.

Private Member Functions

PX_INLINE bool isCompatible (const PxStrideIterator &other) const

Static Private Member Functions

static PX_INLINE T * byteAdd (T *ptr, PxU32 bytes)
static PX_INLINE T * byteSub (T *ptr, PxU32 bytes)

Private Attributes

T * mPtr
PxU32 mStride
+


Detailed Description

+

template<typename T>
+ class PxStrideIterator< T >

+ +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.:

    PxStrideIterator<PxVec3> strideArray(...);
+    for (unsigned i = 0; i < 10; ++i)
+    {
+        PxVec3& vec = strideArray[i];
+        ...
+    }
+
or iteration by increment, e.g.:
    PxStrideIterator<PxVec3> strideBegin(...);
+    PxStrideIterator<PxVec3> strideEnd(strideBegin + 10);
+    for (PxStrideIterator<PxVec3> it = strideBegin; it < strideEnd; ++it)
+    {
+        PxVec3& vec = *it;
+        ...
+    }
+

+Two special cases:

+

Constructor & Destructor Documentation

+ +
+
+
+template<typename T>
+ + + + + + + + + + + + + + + + + + +
PX_INLINE PxStrideIterator< T >::PxStrideIterator (T *  ptr = NULL,
PxU32  stride = sizeof(T) 
) [inline, explicit]
+
+
+ +

+Constructor. +

+Optionally takes a pointer to an element and a stride.

+

Parameters:
+ + + +
[in] ptr pointer to element, defaults to NULL.
[in] stride stride for accessing consecutive elements, defaults to the size of one element.
+
+ +
+

+ +

+
+
+template<typename T>
+ + + + + + + + + +
PX_INLINE PxStrideIterator< T >::PxStrideIterator (const PxStrideIterator< typename StripConst< T >::Type > &  strideIterator  )  [inline]
+
+
+ +

+Copy constructor. +

+

Parameters:
+ + +
[in] strideIterator PxStrideIterator to be copied.
+
+ +
+

+


Member Function Documentation

+ +
+
+
+template<typename T>
+ + + + + + + + + + + + + + + + + + +
static PX_INLINE T* PxStrideIterator< T >::byteAdd (T *  ptr,
PxU32  bytes 
) [inline, static, private]
+
+
+ +

+ +

+

+ +

+
+
+template<typename T>
+ + + + + + + + + + + + + + + + + + +
static PX_INLINE T* PxStrideIterator< T >::byteSub (T *  ptr,
PxU32  bytes 
) [inline, static, private]
+
+
+ +

+ +

+

+ +

+
+
+template<typename T>
+ + + + + + + + + +
PX_INLINE bool PxStrideIterator< T >::isCompatible (const PxStrideIterator< T > &  other  )  const [inline, private]
+
+
+ +

+ +

+

+ +

+
+
+template<typename T>
+ + + + + + + + + +
PX_INLINE bool PxStrideIterator< T >::operator!= (const PxStrideIterator< T > &  other  )  const [inline]
+
+
+ +

+Inequality operator. +

+ +

+

+ +

+
+
+template<typename T>
+ + + + + + + + +
PX_INLINE T& PxStrideIterator< T >::operator* (  )  const [inline]
+
+
+ +

+Indirection operator. +

+ +

+

+ +

+
+
+template<typename T>
+ + + + + + + + + +
PX_INLINE PxStrideIterator PxStrideIterator< T >::operator+ (unsigned int  i  )  const [inline]
+
+
+ +

+Addition operator. +

+ +

+

+ +

+
+
+template<typename T>
+ + + + + + + + + +
PX_INLINE PxStrideIterator PxStrideIterator< T >::operator++ (int   )  [inline]
+
+
+ +

+Post-increment operator. +

+ +

+

+ +

+
+
+template<typename T>
+ + + + + + + + +
PX_INLINE PxStrideIterator& PxStrideIterator< T >::operator++ (  )  [inline]
+
+
+ +

+Pre-increment operator. +

+ +

+

+ +

+
+
+template<typename T>
+ + + + + + + + + +
PX_INLINE PxStrideIterator& PxStrideIterator< T >::operator+= (unsigned int  i  )  [inline]
+
+
+ +

+Addition compound assignment operator. +

+ +

+

+ +

+
+
+template<typename T>
+ + + + + + + + + +
PX_INLINE int PxStrideIterator< T >::operator- (const PxStrideIterator< T > &  other  )  const [inline]
+
+
+ +

+Iterator difference. +

+ +

+

+ +

+
+
+template<typename T>
+ + + + + + + + + +
PX_INLINE PxStrideIterator PxStrideIterator< T >::operator- (unsigned int  i  )  const [inline]
+
+
+ +

+Subtraction operator. +

+ +

+

+ +

+
+
+template<typename T>
+ + + + + + + + + +
PX_INLINE PxStrideIterator PxStrideIterator< T >::operator-- (int   )  [inline]
+
+
+ +

+Post-decrement operator. +

+ +

+

+ +

+
+
+template<typename T>
+ + + + + + + + +
PX_INLINE PxStrideIterator& PxStrideIterator< T >::operator-- (  )  [inline]
+
+
+ +

+Pre-decrement operator. +

+ +

+

+ +

+
+
+template<typename T>
+ + + + + + + + + +
PX_INLINE PxStrideIterator& PxStrideIterator< T >::operator-= (unsigned int  i  )  [inline]
+
+
+ +

+Subtraction compound assignment operator. +

+ +

+

+ +

+
+
+template<typename T>
+ + + + + + + + +
PX_INLINE T* PxStrideIterator< T >::operator-> (  )  const [inline]
+
+
+ +

+Dereferencing operator. +

+ +

+

+ +

+
+
+template<typename T>
+ + + + + + + + + +
PX_INLINE bool PxStrideIterator< T >::operator< (const PxStrideIterator< T > &  other  )  const [inline]
+
+
+ +

+Less than operator. +

+ +

+

+ +

+
+
+template<typename T>
+ + + + + + + + + +
PX_INLINE bool PxStrideIterator< T >::operator<= (const PxStrideIterator< T > &  other  )  const [inline]
+
+
+ +

+Less or equal than operator. +

+ +

+

+ +

+
+
+template<typename T>
+ + + + + + + + + +
PX_INLINE bool PxStrideIterator< T >::operator== (const PxStrideIterator< T > &  other  )  const [inline]
+
+
+ +

+Equality operator. +

+ +

+

+ +

+
+
+template<typename T>
+ + + + + + + + + +
PX_INLINE bool PxStrideIterator< T >::operator> (const PxStrideIterator< T > &  other  )  const [inline]
+
+
+ +

+Greater than operator. +

+ +

+

+ +

+
+
+template<typename T>
+ + + + + + + + + +
PX_INLINE bool PxStrideIterator< T >::operator>= (const PxStrideIterator< T > &  other  )  const [inline]
+
+
+ +

+Greater or equal than operator. +

+ +

+

+ +

+
+
+template<typename T>
+ + + + + + + + + +
PX_INLINE T& PxStrideIterator< T >::operator[] (unsigned int  i  )  const [inline]
+
+
+ +

+Indexing operator. +

+ +

+

+ +

+
+
+template<typename T>
+ + + + + + + + +
PX_INLINE T* PxStrideIterator< T >::ptr (  )  const [inline]
+
+
+ +

+Get pointer to element. +

+ +

Referenced by PxParticleCreationData::isValid().

+ +
+

+ +

+
+
+template<typename T>
+ + + + + + + + +
PX_INLINE PxU32 PxStrideIterator< T >::stride (  )  const [inline]
+
+
+ +

+Get stride. +

+ +

Referenced by PxStrideIterator< const PxVec3 >::isCompatible().

+ +
+

+


Member Data Documentation

+ +

+ +

+
+
+template<typename T>
+ + + + +
PxU32 PxStrideIterator< T >::mStride [private]
+
+
+ +

+ +

+

+


The documentation for this class was generated from the following file: +
+ +

+Copyright © 2008-2016 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved. www.nvidia.com + + -- cgit v1.2.3