diff --git a/src/mol-geo/geometry/direct-volume/direct-volume.ts b/src/mol-geo/geometry/direct-volume/direct-volume.ts index 87bbe53cd7df2a39a10a95febd85056cca5c94f2..c46e32c5d0363e482cefb64d993c30d227848ce7 100644 --- a/src/mol-geo/geometry/direct-volume/direct-volume.ts +++ b/src/mol-geo/geometry/direct-volume/direct-volume.ts @@ -9,7 +9,7 @@ import { LocationIterator, PositionLocation } from '../../../mol-geo/util/locati import { RenderableState } from '../../../mol-gl/renderable'; import { DirectVolumeValues } from '../../../mol-gl/renderable/direct-volume'; import { calculateTransformBoundingSphere } from '../../../mol-gl/renderable/util'; -import { Texture } from '../../../mol-gl/webgl/texture'; +import { createNullTexture, Texture } from '../../../mol-gl/webgl/texture'; import { Box3D, Sphere3D } from '../../../mol-math/geometry'; import { Mat4, Vec2, Vec3, Vec4 } from '../../../mol-math/linear-algebra'; import { Theme } from '../../../mol-theme/theme'; @@ -129,7 +129,15 @@ export namespace DirectVolume { } export function createEmpty(directVolume?: DirectVolume): DirectVolume { - return {} as DirectVolume; // TODO + const bbox = Box3D(); + const gridDimension = Vec3(); + const transform = Mat4.identity(); + const unitToCartn = Mat4.identity(); + const cellDim = Vec3(); + const texture = createNullTexture(); + const stats = Grid.One.stats; + const packedGroup = false; + return create(bbox, gridDimension, transform, unitToCartn, cellDim, texture, stats, packedGroup, directVolume); } export function createRenderModeParam(stats?: Grid['stats']) { diff --git a/src/mol-geo/geometry/image/image.ts b/src/mol-geo/geometry/image/image.ts index 0f34aeff787b93d7e900291fecd77e1de00592df..61447717432b120fb7d10f417ea5e6f08a95ad5e 100644 --- a/src/mol-geo/geometry/image/image.ts +++ b/src/mol-geo/geometry/image/image.ts @@ -7,7 +7,7 @@ import { hashFnv32a } from '../../../mol-data/util'; import { LocationIterator } from '../../../mol-geo/util/location-iterator'; import { RenderableState } from '../../../mol-gl/renderable'; -import { calculateTransformBoundingSphere, TextureImage } from '../../../mol-gl/renderable/util'; +import { calculateTransformBoundingSphere, createTextureImage, TextureImage } from '../../../mol-gl/renderable/util'; import { Sphere3D } from '../../../mol-math/geometry'; import { Vec2, Vec4, Vec3 } from '../../../mol-math/linear-algebra'; import { Theme } from '../../../mol-theme/theme'; @@ -113,7 +113,10 @@ namespace Image { } export function createEmpty(image?: Image): Image { - return {} as Image; // TODO + const imageTexture = createTextureImage(0, 4, Uint8Array); + const corners = image ? image.cornerBuffer.ref.value : new Float32Array(8 * 3); + const groupTexture = createTextureImage(0, 4, Uint8Array); + return create(imageTexture, corners, groupTexture, image); } export const Params = { diff --git a/src/mol-geo/geometry/texture-mesh/texture-mesh.ts b/src/mol-geo/geometry/texture-mesh/texture-mesh.ts index 47bbecb2829076c3a7d24f15963ce5b338b7ef9b..f8df9d171ce3ad2daeffaac5588200a895944ed0 100644 --- a/src/mol-geo/geometry/texture-mesh/texture-mesh.ts +++ b/src/mol-geo/geometry/texture-mesh/texture-mesh.ts @@ -19,7 +19,7 @@ import { createEmptyOverpaint } from '../overpaint-data'; import { createEmptyTransparency } from '../transparency-data'; import { TextureMeshValues } from '../../../mol-gl/renderable/texture-mesh'; import { calculateTransformBoundingSphere } from '../../../mol-gl/renderable/util'; -import { Texture } from '../../../mol-gl/webgl/texture'; +import { createNullTexture, Texture } from '../../../mol-gl/webgl/texture'; import { Vec2, Vec4 } from '../../../mol-math/linear-algebra'; import { createEmptyClipping } from '../clipping-data'; import { NullLocation } from '../../../mol-model/location'; @@ -97,7 +97,11 @@ export namespace TextureMesh { } export function createEmpty(textureMesh?: TextureMesh): TextureMesh { - return {} as TextureMesh; // TODO + const vt = textureMesh ? textureMesh.vertexTexture.ref.value : createNullTexture(); + const gt = textureMesh ? textureMesh.groupTexture.ref.value : createNullTexture(); + const nt = textureMesh ? textureMesh.normalTexture.ref.value : createNullTexture(); + const bs = textureMesh ? textureMesh.boundingSphere : Sphere3D(); + return create(0, 0, vt, gt, nt, bs, textureMesh); } export const Params = {