<commit_before>#ifndef VOXBLOX_CORE_VOXEL_H_
#define VOXBLOX_CORE_VOXEL_H_

#include <cstdint>

#include "voxblox/core/common.h"
#include "voxblox/core/color.h"

namespace voxblox {

struct TsdfVoxel {
  float distance = 0.0f;
  float weight = 0.0f;
  Color color;
};

struct EsdfVoxel {
  float distance = 0.0f;
  bool observed = false;
  bool in_queue = false;
  bool fixed = false;
  // Relative direction toward parent. If itself, then either uninitialized
  // or in the fixed frontier.
  Eigen::Vector3i parent = Eigen::Vector3i::Zero();
};

struct OccupancyVoxel {
  float probability_log = 0.0f;
  bool observed = false;
};

struct LabelTsdfVoxel {
  float distance = 0.0f;
  float weight = 0.0f;
  float label_confidence = 0.0f;
  Label label = 0u;
  Color color;
};

// Used for serialization only.
enum class VoxelTypes {
  kNotSerializable = 0,
  kTsdf = 1,
  kEsdf = 2,
  kOccupancy = 3,
  kLabelTsdf = 4
};

template <typename Type>
VoxelTypes getVoxelType() {
  return VoxelTypes::kNotSerializable;
}

template <>
inline VoxelTypes getVoxelType<TsdfVoxel>() {
  return VoxelTypes::kTsdf;
}

template <>
inline VoxelTypes getVoxelType<EsdfVoxel>() {
  return VoxelTypes::kEsdf;
}

template <>
inline VoxelTypes getVoxelType<OccupancyVoxel>() {
  return VoxelTypes::kOccupancy;
}

template <>
inline VoxelTypes getVoxelType<LabelTsdfVoxel>() {
  return VoxelTypes::kLabelTsdf;
}

}  // namespace voxblox

#endif  // VOXBLOX_CORE_VOXEL_H_<commit_msg>Split label and tsdf layers<commit_after>#ifndef VOXBLOX_CORE_VOXEL_H_
#define VOXBLOX_CORE_VOXEL_H_

#include <cstdint>

#include "voxblox/core/common.h"
#include "voxblox/core/color.h"

namespace voxblox {

struct TsdfVoxel {
  float distance = 0.0f;
  float weight = 0.0f;
  Color color;
};

struct EsdfVoxel {
  float distance = 0.0f;
  bool observed = false;
  bool in_queue = false;
  bool fixed = false;
  // Relative direction toward parent. If itself, then either uninitialized
  // or in the fixed frontier.
  Eigen::Vector3i parent = Eigen::Vector3i::Zero();
};

struct OccupancyVoxel {
  float probability_log = 0.0f;
  bool observed = false;
};

struct LabelVoxel {
  float label_confidence = 0.0f;
  Label label = 0u;
};

// Used for serialization only.
enum class VoxelTypes {
  kNotSerializable = 0,
  kTsdf = 1,
  kEsdf = 2,
  kOccupancy = 3,
  kLabel = 4
};

template <typename Type>
VoxelTypes getVoxelType() {
  return VoxelTypes::kNotSerializable;
}

template <>
inline VoxelTypes getVoxelType<TsdfVoxel>() {
  return VoxelTypes::kTsdf;
}

template <>
inline VoxelTypes getVoxelType<EsdfVoxel>() {
  return VoxelTypes::kEsdf;
}

template <>
inline VoxelTypes getVoxelType<OccupancyVoxel>() {
  return VoxelTypes::kOccupancy;
}

template <>
inline VoxelTypes getVoxelType<LabelVoxel>() {
  return VoxelTypes::kLabel;
}

}  // namespace voxblox

#endif  // VOXBLOX_CORE_VOXEL_H_
{'fraction_non_alphanumeric': 0.10738020286813571, 'fraction_numerical': 0.013990905911157748, 'mean_word_length': 4.345794392523365, 'pattern_counts': {'":': 0, '<': 23, '<?xml version=': 0, '>': 23, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '350009', 'n_tokens_mistral': 1181, 'n_tokens_neox': 1114, 'n_words': 253}