107 const int indexCount,
const ParticleIndex* particleIndices,
const bool sorted,T* values)
109 assert(typeCheck<T>(attribute.
type));
117 return static_cast<T*
>(
dataInternal(attribute,particleIndex));
131 const ParticleIndex* particleIndices,
const bool sorted,
float* values)
const=0;
136 virtual void findPoints(
const float bboxMin[3],
const float bboxMax[3],
137 std::vector<ParticleIndex>& points)
const=0;
144 virtual float findNPoints(
const float center[3],
int nPoints,
const float maxRadius,
145 std::vector<ParticleIndex>& points,std::vector<float>& pointDistancesSquared)
const=0;
150 virtual int findNPoints(
const float center[3],
int nPoints,
const float maxRadius,
151 ParticleIndex *points,
float *pointDistancesSquared,
float *finalRadius2)
const=0;
167 const ParticleIndex* particleIndices,
const bool sorted,
char* values)
const=0;
191 return static_cast<T*
>(
dataInternal(attribute,particleIndex));
199 virtual void sort()=0;
228 ParticlesDataMutable*
create();
234 ParticlesDataMutable*
read(
const char* filename);
242 void write(
const char* filename,
const ParticlesData&,
const bool forceCompressed=
false);
252 ParticlesData*
readCached(
const char* filename,
const bool sort);
272 void print(
const ParticlesData* particles);