小编Ric*_*iço的帖子

在Three.js PointCloud中将square改为circle?

我正在使用PLYLoader加载.ply文件,并使用three.js中的PointCloud对象进行渲染.

var loader = new THREE.PLYLoader();
loader.addEventListener('load', function (event) {
    var geometry = event.content;
    var material = new THREE.PointCloudMaterial({ vertexColors: true, size: 0.01 });
    var mesh = new THREE.PointCloud(geometry, material);
    scene.add(mesh);
});
loader.load(file_url);
Run Code Online (Sandbox Code Playgroud)

它工作正常,点数正确呈现.但是这些点呈现为正方形.是否可以将它们更改为圆形?如果是这样,怎么样?

我发现这个旧线程显示了一个three.js样本的图片.我们可以清楚地看到圈子.然而,今天相同的样本显示了正方形(在他们将ParticleSystem更改为PointCloud之后).

谢谢

javascript 3d point-clouds three.js

6
推荐指数
1
解决办法
4169
查看次数

架构组件ViewModels使用来自Activity/Fragment的params注入匕首

我正在尝试将新的Architecture Components添加ViewModel到我的应用程序中,同时用匕首注入它们.我的代码基于google 在这里显示的内容.我试图避免ViewModelFactory为每种ViewModel类型使用,所以我使用了ViewModelFactoryMap<Class<? extends ViewModel>, Provider<ViewModel>> creators.它适用于ViewModels具有@Singleton范围的依赖项.但是,我的一个人ViewModels有一个来自片段的依赖.这是该片段的模块:

@Module
public abstract class DownloadIssueDialogFragmentModule {

    @Binds
    abstract DialogFragment dialogFragment(DownloadIssueDialogFragment dialogFragment);

    @Provides
    @FragmentScope
    static Issue provideIssue(DownloadIssueDialogFragment dialogFragment) {
        return dialogFragment.getIssue();
    }
}
Run Code Online (Sandbox Code Playgroud)

我的ViewModelModule:

@Module
public abstract class ViewModelModule {

    @Binds
    abstract ViewModelProvider.Factory bindViewModelFactory(ViewModelFactory factory);

    @Binds
    @IntoMap
    @ViewModelKey(DownloadIssueViewModel.class)
    abstract ViewModel bindDownloadIssueViewModel(DownloadIssueViewModel viewModel);

}
Run Code Online (Sandbox Code Playgroud)

匕首说不能提供Issue.它Map<Class<? extends ViewModel>, Provider<ViewModel>>似乎有意义,因为它似乎是在编译时创建的.但我只会知道该片段范围内的参数.我怎样才能做到这一点?

谢谢.

编辑:

最后,我采用了不同的方法.现在我为每个ViewModel创建一个工厂,而不是注入ViewModel,我注入了工厂.

我创建了这个库: …

android mvvm dagger dagger-2 android-architecture-components

5
推荐指数
1
解决办法
1359
查看次数

遵循 Observable&lt;Void&gt; 的 RxJava 链调用

我一直在包装一个同步库,所以每个执行 IO 的方法都会返回一个Observable. 然而,其中一些方法返回,Observable<Void>因为我只关心它的完成情况。

如何在Observable不发出任何内容之后链接调用?

accountManager.doAuth()
            .flatMap(x -> paginator.next())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribeOn(Schedulers.io())
            .subscribe(... subscriber stuff ...)
Run Code Online (Sandbox Code Playgroud)

我必须doAuth为每个请求调用它并返回Observable<Void>. 由于它不发出项目,onNext因此永远不会被调用,只有onCompleted.

关于doAuth我只关心它是否完成或给出错误。如果它完成,我希望它paginator.next()被调用,以便我可以在onCompleted/onError/onNext.

到目前为止,我一直在使用flatMap链式调用,当我真正关心以前的 Observables 返回的东西时,它工作得很好。

java android rx-java

2
推荐指数
1
解决办法
2625
查看次数