31 virtual ::std::set<::ChunkPos> getChunksFromAABB(
::AABB const& aabb)
const = 0;
33 virtual bool isChunkLoaded(
::ChunkPos const& pos)
const = 0;
35 virtual bool isChunkFullyLoaded(
::ChunkPos const& pos)
const = 0;
37 virtual bool areChunksLoaded(::std::set<::ChunkPos>
const& chunks)
const = 0;
39 virtual bool isAreaLoaded(
::AABB const& aabb)
const = 0;
41 virtual ::Editor::RelativeVolumeListBlockVolume trimVolumeToFitContents(
42 ::std::variant<::BlockVolumeBase const*, ::Editor::RelativeVolumeListBlockVolume const*>
const inVolume,
43 bool retainMarqueeAfterTrimming,
45 bool ignoreNoCollision,
49 virtual ::Editor::RelativeVolumeListBlockVolume findObscuredBlocksWithinVolume(
50 ::std::variant<::BlockVolumeBase const*, ::Editor::RelativeVolumeListBlockVolume const*>
const inVolume
53 virtual ::Editor::RelativeVolumeListBlockVolume shrinkWrapVolume(
54 ::std::variant<::BlockVolumeBase const*, ::Editor::RelativeVolumeListBlockVolume const*>
const
57 virtual bool isLocationInsideDimensionBounds(
66 virtual ::Editor::RelativeVolumeListBlockVolume getContiguousSelection(
68 ::Facing::Name
const& selectionDirection,
69 ::Vec3 const& startingLocation,
71 int const fullSelectionToleranceLevel,
72 bool const checkForAdjacentFaceBlocks,
73 ::Editor::BlockUtils::ContiguousSelectionType
const& contiguousSelectionType,
74 ::std::vector<::std::string>
const& contiguousSelectionBlockList
77 virtual bool areBlocksContiguous(
78 ::Editor::BlockUtils::ContiguousSelectionType
const& contiguousSelectionType,
81 ::std::vector<::std::string>
const& allowList
84 virtual ::Vec3 getDeltaFromDirection(::Facing::Name
const& selectionDirection)
const = 0;
86 virtual ::Vec3 getDimensionMinLocation()
const = 0;
88 virtual ::Vec3 getDimensionMaxLocation()
const = 0;
90 virtual ::BoundingBox getDimensionLocationBoundingBox()
const = 0;
92 virtual ::AABB getBoundForContiguousSelection(
93 ::Vec3 const& initialLocation,
94 ::Facing::Name
const& selectionDirection,
99 virtual bool isBlockExposedInDirection(
101 ::Vec3 const& targetLocation,
102 ::Facing::Name
const& direction
105 virtual bool isSameBlockType(
::Block const& blockA,
::Block const& blockB)
const = 0;
107 virtual bool isSameBlockAndProperties(
::Block const& blockA,
::Block const& blockB)
const = 0;
110 isBlockTypeInSelectionList(
::Block const& block, ::std::vector<::std::string>
const& allowList)
const = 0;