32 virtual ::std::set<::ChunkPos> getChunksFromAABB(
::AABB const& aabb)
const = 0;
34 virtual bool isChunkLoaded(
::ChunkPos const& pos)
const = 0;
36 virtual bool isChunkFullyLoaded(
::ChunkPos const& pos)
const = 0;
38 virtual bool areChunksLoaded(::std::set<::ChunkPos>
const& chunks)
const = 0;
40 virtual bool isAreaLoaded(
::AABB const& aabb)
const = 0;
42 virtual ::Editor::RelativeVolumeListBlockVolume trimVolumeToFitContents(
43 ::std::variant<::BlockVolumeBase const*, ::Editor::RelativeVolumeListBlockVolume const*>
const inVolume,
44 bool retainMarqueeAfterTrimming,
46 bool ignoreNoCollision,
50 virtual ::Editor::RelativeVolumeListBlockVolume findObscuredBlocksWithinVolume(
51 ::std::variant<::BlockVolumeBase const*, ::Editor::RelativeVolumeListBlockVolume const*>
const inVolume
54 virtual ::Editor::RelativeVolumeListBlockVolume shrinkWrapVolume(
55 ::std::variant<::BlockVolumeBase const*, ::Editor::RelativeVolumeListBlockVolume const*>
const
58 virtual bool isLocationInsideDimensionBounds(
67 virtual ::CompoundBlockVolume getContiguousSelection(
69 ::Facing::Name
const& selectionDirection,
70 ::Vec3 const& startingLocation,
72 int const fullSelectionToleranceLevel,
73 bool const checkForAdjacentFaceBlocks,
74 ::Editor::BlockUtils::ContiguousSelectionType
const& contiguousSelectionType,
75 ::std::vector<::std::string>
const& contiguousSelectionBlockList
78 virtual bool areBlocksContiguous(
79 ::Editor::BlockUtils::ContiguousSelectionType
const& contiguousSelectionType,
82 ::std::vector<::std::string>
const& allowList
85 virtual ::Vec3 getDeltaFromDirection(::Facing::Name
const& selectionDirection)
const = 0;
87 virtual ::Vec3 getDimensionMinLocation()
const = 0;
89 virtual ::Vec3 getDimensionMaxLocation()
const = 0;
91 virtual ::BoundingBox getDimensionLocationBoundingBox()
const = 0;
93 virtual ::AABB getBoundForContiguousSelection(
94 ::Vec3 const& initialLocation,
95 ::Facing::Name
const& selectionDirection,
100 virtual bool isBlockExposedInDirection(
102 ::Vec3 const& targetLocation,
103 ::Facing::Name
const& direction
106 virtual bool isSameBlockType(
::Block const& blockA,
::Block const& blockB)
const = 0;
108 virtual bool isSameBlockAndProperties(
::Block const& blockA,
::Block const& blockB)
const = 0;
111 isBlockTypeInSelectionList(
::Block const& block, ::std::vector<::std::string>
const& allowList)
const = 0;