package com.xiaopeng.map.dto; import com.google.flatbuffers.FlatBufferBuilder; import com.google.flatbuffers.Table; /** * 对应 map_area_rtree.fbs 中的 RTree 表。 * 只实现构建 FlatBuffer 所需的最小方法集合。 */ public final class RTree extends Table { private RTree() { } public static int createRTree(FlatBufferBuilder builder, int nodesVectorOffset) { builder.startTable(1); addNodes(builder, nodesVectorOffset); return endRTree(builder); } public static void startRTree(FlatBufferBuilder builder) { builder.startTable(1); } public static void addNodes(FlatBufferBuilder builder, int nodesOffset) { builder.addOffset(0, nodesOffset, 0); } /** * 构建 nodes 向量。 */ public static int createNodesVector(FlatBufferBuilder builder, int[] data) { builder.startVector(4, data.length, 4); for (int i = data.length - 1; i >= 0; i--) { builder.addOffset(data[i]); } return builder.endVector(); } public static void startNodesVector(FlatBufferBuilder builder, int numElems) { builder.startVector(4, numElems, 4); } public static int endRTree(FlatBufferBuilder builder) { return builder.endTable(); } }