|
@@ -22,6 +22,9 @@ interface IKHRMaterialVariantsTop {
|
|
default?: string;
|
|
default?: string;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+/**
|
|
|
|
+ * Interface for the mapping from variant tag name to a mesh and material.
|
|
|
|
+ */
|
|
interface VariantMapping {
|
|
interface VariantMapping {
|
|
mesh: AbstractMesh;
|
|
mesh: AbstractMesh;
|
|
materialPromise: Promise<Nullable<Material>>;
|
|
materialPromise: Promise<Nullable<Material>>;
|
|
@@ -50,11 +53,6 @@ export class KHR_materials_variants implements IGLTFLoaderExtension {
|
|
*/
|
|
*/
|
|
public defaultVariant: string | undefined;
|
|
public defaultVariant: string | undefined;
|
|
|
|
|
|
- /**
|
|
|
|
- * A list of the available variant names in this asset.
|
|
|
|
- */
|
|
|
|
- public availableVariants: string[];
|
|
|
|
-
|
|
|
|
private _tagsToMap: { [key: string]: VariantMapping[]; } = {};
|
|
private _tagsToMap: { [key: string]: VariantMapping[]; } = {};
|
|
|
|
|
|
/** @hidden */
|
|
/** @hidden */
|
|
@@ -78,6 +76,8 @@ export class KHR_materials_variants implements IGLTFLoaderExtension {
|
|
|
|
|
|
/**
|
|
/**
|
|
* Select a variant by providing a list of variant tag names.
|
|
* Select a variant by providing a list of variant tag names.
|
|
|
|
+ *
|
|
|
|
+ * @param {(string | string[])} variantName
|
|
*/
|
|
*/
|
|
public selectVariant(variantName: string | string[]) {
|
|
public selectVariant(variantName: string | string[]) {
|
|
if (variantName instanceof Array) {
|
|
if (variantName instanceof Array) {
|
|
@@ -89,6 +89,8 @@ export class KHR_materials_variants implements IGLTFLoaderExtension {
|
|
|
|
|
|
/**
|
|
/**
|
|
* Select a variant by providing a single variant tag.
|
|
* Select a variant by providing a single variant tag.
|
|
|
|
+ *
|
|
|
|
+ * @param {string} variantName
|
|
*/
|
|
*/
|
|
public selectVariantTag(variantName: string) {
|
|
public selectVariantTag(variantName: string) {
|
|
// If the name is valid, switch all meshes to use materials defined by the tags
|
|
// If the name is valid, switch all meshes to use materials defined by the tags
|