BOOL init_attributes(U32 number_attributes, LASattribute* attributes) { U32 i; clean_attributes(); this->number_attributes = number_attributes; this->attributes = (LASattribute*)malloc(sizeof(LASattribute)*number_attributes); if (this->attributes == 0) { return FALSE; } memcpy(this->attributes, attributes, sizeof(LASattribute)*number_attributes); attribute_starts = (I32*)malloc(sizeof(I32)*number_attributes); if (attribute_starts == 0) { return FALSE; } attribute_sizes = (I32*)malloc(sizeof(I32)*number_attributes); if (attribute_sizes == 0) { return FALSE; } attribute_starts[0] = 0; attribute_sizes[0] = attributes[0].get_size(); for (i = 1; i < number_attributes; i++) { attribute_starts[i] = attribute_starts[i-1] + attribute_sizes[i-1]; attribute_sizes[i] = attributes[i].get_size(); } return TRUE; };
void clean() { clean_user_data_in_header(); clean_vlrs(); clean_evlrs(); clean_laszip(); clean_lastiling(); clean_lasoriginal(); clean_user_data_after_header(); clean_attributes(); clean_las_header(); };
~LASattributer() { clean_attributes(); };