17 #if !defined(ON_ARRAY_INC_)
84 ON__UINT32
DataCRC(ON__UINT32 current_remainder)
const;
98 operator const T*()
const;
102 const T*
First()
const;
106 T*
At(
unsigned int );
109 const T*
At(
int )
const;
110 const T*
At(
unsigned int )
const;
111 const T*
At( ON__INT64 )
const;
112 const T*
At( ON__UINT64 )
const;
115 const T*
Last()
const;
126 void Append(
int,
const T* );
129 void Insert(
int,
const T& );
159 int Search(
const T& )
const;
169 int Search(
const T*,
int (*)(
const T*,
const T*) )
const;
189 int BinarySearch(
const T*,
int (*)(
const T*,
const T*) )
const;
190 int BinarySearch(
const T*,
int (*)(
const T*,
const T*),
int )
const;
195 bool HeapSort(
int (*)(
const T*,
const T*) );
200 bool QuickSort(
int (*)(
const T*,
const T*) );
222 ON::sort_algorithm sort_algorithm,
224 int (*)(
const T*,
const T*)
249 ON::sort_algorithm sort_algorithm,
251 int (*)(
const T*,
const T*,
void*),
268 void MemSet(
unsigned char);
304 const T*
Array()
const;
350 void Move(
int ,
int ,
int );
360 #if defined(ON_DLL_TEMPLATE)
364 #pragma warning( push )
365 #pragma warning( disable : 4231 )
407 #pragma warning( pop )
559 int bGrowBox =
false,
618 double angle_in_radians,
653 int* closest_point_index,
654 double maximum_distance = 0.0
778 bool bGrowBow =
false
838 void EmergencyDestroy(
void);
847 unsigned int UnsignedCount()
const;
849 int Capacity()
const;
851 unsigned int SizeOfArray()
const;
853 unsigned int SizeOfElement()
const;
857 T& operator[](
int );
858 T& operator[](
unsigned int );
859 T& operator[]( ON__INT64 );
860 T& operator[]( ON__UINT64 );
861 const T& operator[](
int )
const;
862 const T& operator[](
unsigned int )
const;
863 const T& operator[]( ON__INT64 )
const;
864 const T& operator[]( ON__UINT64 )
const;
867 operator const T*()
const;
870 const T* First()
const;
874 T* At(
unsigned int );
877 const T* At(
int )
const;
878 const T* At(
unsigned int )
const;
879 const T* At( ON__INT64 )
const;
880 const T* At( ON__UINT64 )
const;
883 const T* Last()
const;
891 void Append(
const T& );
894 void Append(
int,
const T*);
896 void Insert(
int,
const T& );
922 int Search(
const T*,
int (*)(
const T*,
const T*) )
const;
942 int BinarySearch(
const T*,
int (*)(
const T*,
const T*) )
const;
943 int BinarySearch(
const T*,
int (*)(
const T*,
const T*),
int )
const;
950 bool HeapSort(
int (*)(
const T*,
const T*) );
955 bool QuickSort(
int (*)(
const T*,
const T*) );
978 ON::sort_algorithm sort_algorithm,
980 int (*)(
const T*,
const T*)
1005 ON::sort_algorithm sort_algorithm,
1007 int (*)(
const T*,
const T*,
void*),
1014 bool Permute(
const int* );
1024 void Reserve(
int );
1056 const T* Array()
const;
1058 void SetCount(
int );
1061 void SetCapacity(
int );
1065 int NewCapacity()
const;
1099 void SetArray(T*,
int,
int);
1103 void Move(
int ,
int ,
int );
1104 void ConstructDefaultElement(T*);
1105 void DestroyElement(T&);
1129 ON__UINT32 DataCRC(ON__UINT32 current_remainder)
const;
1140 bool HeapSort(
int (*)(
const T*,
const T*) );
1145 bool QuickSort(
int (*)(
const T*,
const T*) );
1176 #if defined(ON_DLL_TEMPLATE)
1181 #pragma warning( push )
1182 #pragma warning( disable : 4231 )
1190 #pragma warning( pop )
1349 int m_removed_count;
1404 bool bCheckForDupicates=
true);
1468 ON_UuidIndex* SearchHelper(
const ON_UUID*)
const;
1469 unsigned int m_sorted_count;
1470 unsigned int m_removed_count;
1527 bool bCheckForDupicates=
true
1608 unsigned int m_sorted_count;
1609 unsigned int m_removed_count;
1748 int ON_CompareIncreasing(
const T* a,
const T* b);
1782 int ON_CompareDecreasing(
const T* a,
const T* b);
1788 #include "opennurbs_array_defs.h"
bool Transform(const ON_Xform &)
ON_2dPointArray & operator=(const ON_2dPointArray &)
bool GetBBox(double boxmin[2], double boxmax[2], int bGrowBox=false) const
ON_2dPointArray(const ON_2dPointArray &)
bool SwapCoordinates(int, int)
ON_2dVectorArray & operator=(const ON_2dVectorArray &)
bool GetBBox(double boxmin[2], double boxmax[2], int bGrowBox=false) const
bool SwapCoordinates(int, int)
ON_2dVectorArray(const ON_2dVectorArray &)
bool Transform(const ON_Xform &)
bool AddIndex(int i, int j)
const ON_2dex * Array() const
int FindIndex(int i, int not_found_rc) const
bool SetIndex(int i, int j)
void Create(int count, int i0, int j)
const ON_2dex * Find2dex(int i) const
ON_2dex operator[](int i) const
void Reserve(int capacity)
void SetOrAddIndex(int i, int j)
bool SwapCoordinates(int, int)
bool Transform(const ON_Xform &)
ON_2fPointArray & operator=(const ON_2fPointArray &)
ON_2fPointArray(const ON_2fPointArray &)
bool GetBBox(float boxmin[2], float boxmax[2], int bGrowBox=false) const
bool SwapCoordinates(int, int)
ON_2fVectorArray & operator=(const ON_2fVectorArray &)
bool Transform(const ON_Xform &)
bool GetBBox(float boxmin[2], float boxmax[2], bool=false) const
ON_2fVectorArray(const ON_2fVectorArray &)
bool SwapCoordinates(int i, int j)
bool GetBBox(double boxmin[3], double boxmax[3], int bGrowBox=false) const
ON_3dPointArray & operator=(const ON_3dPointArray &)
bool GetTightBoundingBox(ON_BoundingBox &tight_bbox, int bGrowBox=false, const ON_Xform *xform=0) const
bool Rotate(double sin_angle, double cos_angle, const ON_3dVector &axis_of_rotation, const ON_3dPoint ¢er_of_rotation)
bool Translate(const ON_3dVector &delta)
bool Rotate(double angle_in_radians, const ON_3dVector &axis_of_rotation, const ON_3dPoint ¢er_of_rotation)
ON_3dPointArray(const ON_SimpleArray< ON_3fPoint > &)
ON_3dPointArray(const ON_SimpleArray< ON_3dPoint > &)
bool GetClosestPoint(ON_3dPoint P, int *closest_point_index, double maximum_distance=0.0) const
ON_BoundingBox BoundingBox() const
bool Create(int point_dimension, int bRational, int point_count, int point_stride, const double *points)
bool Create(int point_dimension, int bRational, int point_count, int point_stride, const float *points)
bool GetBoundingBox(ON_BoundingBox &bbox, int bGrowBox=false) const
bool Transform(const ON_Xform &xform)
ON_3dPointArray & operator=(const ON_SimpleArray< ON_3fPoint > &)
ON_3dVectorArray & operator=(const ON_3dVectorArray &)
bool GetBBox(double boxmin[3], double boxmax[3], bool bGrowBow=false) const
bool SwapCoordinates(int, int)
ON_3dVectorArray(const ON_3dVectorArray &)
bool Transform(const ON_Xform &)
bool GetBBox(float boxmin[3], float boxmax[3], int bGrowBox=false) const
ON_3fPointArray(const ON_3fPointArray &)
bool SwapCoordinates(int, int)
bool Transform(const ON_Xform &)
ON_3fPointArray & operator=(const ON_3fPointArray &)
ON_3fVectorArray(const ON_3fVectorArray &)
bool Transform(const ON_Xform &)
bool SwapCoordinates(int, int)
bool GetBBox(float boxmin[3], float boxmax[3], int bGrowBox=false) const
ON_3fVectorArray & operator=(const ON_3fVectorArray &)
bool Transform(const ON_Xform &)
ON_4dPointArray(const ON_4dPointArray &)
ON_4dPointArray & operator=(const ON_4dPointArray &)
bool SwapCoordinates(int, int)
bool Transform(const ON_Xform &)
ON_4fPointArray(const ON_4fPointArray &)
ON_4fPointArray & operator=(const ON_4fPointArray &)
bool SwapCoordinates(int, int)
bool Sort(ON::sort_algorithm sort_algorithm, int *, int(*)(const T *, const T *)) const
void Insert(int, const T &)
unsigned int UnsignedCount() const
unsigned int SizeOfArray() const
bool HeapSort(int(*)(const T *, const T *))
void EmergencyDestroy(void)
bool QuickSort(int(*)(const T *, const T *))
void MemSet(unsigned char)
ON__UINT32 DataCRC(ON__UINT32 current_remainder) const
int Search(const T &) const
virtual T * Realloc(T *, int)
bool Permute(const int *)
virtual ON_SimpleArray< T > & operator=(const ON_SimpleArray< T > &)
int BinarySearch(const T *, int(*)(const T *, const T *)) const
unsigned int SizeOfElement() const
virtual ~ON_SimpleArray()
bool RemoveUuid(ON_UUID uuid)
bool FindUuidIndex(ON_UUID uuid, int index) const
bool AddUuidIndex(ON_UUID uuid, int index, bool bCheckForDupicates=true)
int GetUuids(ON_SimpleArray< ON_UUID > &uuid_list) const
ON_UuidIndexList(int capacity)
void ImproveSearchSpeed()
bool FindUuid(ON_UUID uuid, int *index=NULL) const
ON_UuidIndexList(const ON_UuidIndexList &src)
ON_UuidIndexList & operator=(const ON_UuidIndexList &src)
void Reserve(int capacity)
void RemapUuids(const ON_SimpleArray< ON_UuidPair > &uuid_remap)
bool AddUuid(ON_UUID uuid, bool bCheckForDupicates=true)
const ON_UUID * Array() const
int GetUuids(ON_SimpleArray< ON_UUID > &uuid_list) const
static int CompareUuid(const ON_UUID *a, const ON_UUID *b)
void Reserve(int capacity)
bool Write(class ON_BinaryArchive &archive) const
ON_UuidList(const ON_UuidList &src)
bool RemoveUuid(ON_UUID uuid)
ON_UuidList(int capacity)
bool FindUuid(ON_UUID uuid) const
ON_UuidList & operator=(const ON_UuidList &src)
bool Read(class ON_BinaryArchive &archive)
static int Compare(const class ON_UuidPair *, const class ON_UuidPair *)
static int CompareSecondUuid(const class ON_UuidPair *, const class ON_UuidPair *)
static int CompareFirstUuid(const class ON_UuidPair *, const class ON_UuidPair *)
bool FindId1(ON_UUID id1, ON_UUID *id2=0) const
void Reserve(int capacity)
ON_UuidPairList(const ON_UuidPairList &src)
bool RemovePair(ON_UUID id1, ON_UUID id2)
ON_UuidPairList & operator=(const ON_UuidPairList &src)
bool FindPair(ON_UUID id1, ON_UUID id2) const
bool RemovePair(ON_UUID id1)
void ImproveSearchSpeed()
int GetId1s(ON_SimpleArray< ON_UUID > &uuid_list) const
ON_UuidPairList(int capacity)
bool AddPair(ON_UUID id1, ON_UUID id2, bool bCheckForDupicates=true)