class_MeshBuilderAsync
title: class MeshBuilderAsync toc_max_heading_level: 4
class MeshBuilderAsync
(Niantic.Lightship.Maps.Builders.Performance.MeshBuilderAsync)
概要
class MeshBuilderAsync:
Niantic.Lightship.Maps.Builders.MeshBuilderBase,
Niantic.Lightship.Maps.Builders.Performance.IMeshBuilderAsync {
public:
// メソッド
virtual bool PreBuild(
IReadOnlyList<MeshTile> tiles,
out IReadOnlyList<MeshTile> tilesToBuild
);
virtual abstract void Build(IReadOnlyList<MeshTile> tiles) = 0;
protected:
// メソッド
IReadOnlyList<MeshTile> GetValidTilesAndClearInvalidTiles(
IReadOnlyList<MeshTile> tiles,
int minLOD,
int maxLOD
);
IReadOnlyList<IReadOnlyList<T>> GetFeaturesByTile< T >(IReadOnlyList<MeshTile> mapTiles);
IReadOnlyList<T> GetFeaturesForTile< T >(MeshTile tile);
bool ApplyMeshInternal(
Mesh.MeshDataArray meshDataToApply,
CancellationToken token,
out Mesh outputMesh
);
};
// 直接の派生クラス
class AreaFeatureBuilderAsync;
class GroundBuilderAsync;
class LinearFeatureBuilderAsync;
class StructureFeatureBuilderAsync;
継承メンバー
public:
// フィールド
int MinLOD => _minLOD;
int MaxLOD => _maxLOD;
// プロパティ
Guid Id;
int MinLOD;
int MaxLOD;
Guid Id;
// メソッド
virtual void Initialize(ILightshipMapView lightshipMapView);
MeshFilter CreateMeshComponents(IMapTileObject mapTileObject);
void Release(MeshFilter meshFilter);
MeshFilter CreateMeshComponents(IMapTileObject mapTileObject);
virtual void Release(MeshFilter meshFilter);
bool PreBuild(
IReadOnlyList<MeshTile> tiles,
out IReadOnlyList<MeshTile> tilesToBuild
);
void Build(IReadOnlyList<MeshTile> tiles);
```cs
protected:
// フィールド
string BuilderName => _builderName.NullIfEmptyOrWhitespace() ?? name;
LayerKind Layer => _mapLayer;
List<FeatureKind> Features => _features;
Material[] _materials;
// プロパティ
Vector3 ZOffset;
// メソッド
static void SetMeshForFilter(Mesh mesh, MeshFilter meshFilter);