问题列表 - 第197959页

创建自定义Object3D类

我是来自AS3/Away3D背景的THREE.js的新手.我正在尝试创建一个自定义对象类,它扩展了THREE.Object3D以添加到我的场景中.CustomObject将封装许多行为属性和方法.理想情况下,我想传递每个CustomObject它自己的数据对象,这将决定它的外观/移动/行为.封装此代码将使我的main.js更清洁.

我的问题是我似乎无法直接将类的实例添加到我的场景中.我只能通过CustomObject.getMesh()方法添加网格.是否可以直接将类的实例添加到我的场景中进行渲染?这是我从网上和/ src中找到的一个非常基本的尝试:

function CustomObject(){

    THREE.Object3D.call( this );
    this.type = 'CustomObject';
    this.geometry = new THREE.BoxGeometry( 540, 540, 14 );
    this.mesh = new THREE.Mesh( this.geometry, new THREE.MeshLambertMaterial( { color: 0xff0000 } ) );
}

CustomObject.prototype = Object.create( THREE.Object3D.prototype );
CustomObject.prototype.constructor = THREE.Object3D;

CustomObject.prototype.getMesh = function(){

    return this.mesh;

}
Run Code Online (Sandbox Code Playgroud)

我希望能够将CustomObject类直接添加到场景中,以使对象管理更加清晰.有人能告诉我这是如何实现的吗?

提前谢谢了!

大卫

javascript class extend three.js

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

在jUnit中计算assertEquals()方法中expected_value的最佳方法是什么

我正在使用该assertEquals()方法jUnit来测试某个值是否与代码生成的实际值相等.

/*
  calculating the actual_value
*/
int expected_value = 1000; // rows of the set of files, manually calculated
assertEquals(expected_value, actual_value);
Run Code Online (Sandbox Code Playgroud)

在标准和手续的情况下,我想知道如果我这样做,那将是一个问题.

/*
  calculating the actual_value
*/
int expected_value = getRelevantLinesOfFiles(set of files); // rows of the set of files
assertEquals(expected_value, actual_value);
Run Code Online (Sandbox Code Playgroud)

因为几乎不可能总是手动找到那种变量,所以我写了一个方法来读取和计算这些文件中的相关行.

我担心的是我在assertEquals测试中使用了一种方法.但该getRelevantLinesOfFiles()方法未经过测试.如果我要测试它,那么我必须再次手动读取文件.所以它一次又一次有点相同.

这是一个好习惯吗?或者进行这类测试的最佳方法是什么?

java testing junit unit-testing

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

Java:notifyObservers不兼容?

我有4个观察者正在监听可观察的数据.然而,我的一个观察者是较慢的,可以采取.我刚看到notifyObserver的代码为: -

  132       public void notifyObservers(Object arg) {
  133           /*
  134            * a temporary array buffer, used as a snapshot of the state of
  135            * current Observers.
  136            */
  137           Object[] arrLocal;
  138   
  139           synchronized (this) {
/**comment removed for clarity **/

  152               if (!changed)
  153                   return;
  154               arrLocal = obs.toArray();
  155               clearChanged();
  156           }
  157   
  158           for (int i = arrLocal.length-1; i>=0; i--)
  159               ((Observer)arrLocal[i]).update(this, arg);
  160       }
Run Code Online (Sandbox Code Playgroud)

从代码中可以清楚地看到观察者是一个接一个地被调用的.由于设计观察者在执行中是独立的.不应该同时调用它们arg作为最终的功能吗?

执行的时间本t1+t2+t3+t4应该是max(t1,t2,t3,t4).我可以使 …

java concurrency design-patterns java.util.concurrent observer-pattern

0
推荐指数
1
解决办法
372
查看次数

如何使用SqlConnection.GetSchema获取同义词信息?

使用这样的代码:

DataTable schema = conn.GetSchema();
DataTable tables = conn.GetSchema("Tables");
DataTable columns = conn.GetSchema("Columns");
Run Code Online (Sandbox Code Playgroud)

可以获取有关模式的大量信息,但元数据版本(即:GetSchema())不会返回有关同义词的任何信息.

我们在环境中使用同义词.我可以使用GetSchema获取有关它们的Schema信息,还是需要其他方法?

c# sql-server schema

10
推荐指数
1
解决办法
668
查看次数

Spring重试等效于@EnableRetry的XML

我必须使用一个项目,我不能使用Java-Config for Spring,但我必须使用XML-Config.现在我正在寻找与Java-Config中的@EnableRetry相当的XML-Config.

我希望这条线能够运作.

@Retryable(SQLException.class)
public void saveOrUpdate(Entity entity) 
Run Code Online (Sandbox Code Playgroud)

java spring spring-retry

8
推荐指数
1
解决办法
4835
查看次数

AngularJS使用过滤器将文本附加到ng-bind

我有这个代码(输出= 1,000):

<span ng-bind"item.num | number : 0"></span>
Run Code Online (Sandbox Code Playgroud)

但我想要1000公里的东西.没有创建新跨度的任何方式来做到这一点.

像这样的东西不起作用:

<span ng-bind"item.num + ' km' | number : 0"></span>
Run Code Online (Sandbox Code Playgroud)

filter angularjs ng-bind angular-filters

7
推荐指数
1
解决办法
9943
查看次数

Visual Studio C++项目的依赖图

如何在大型 Visual Studio 2013 解决方案中获取 C++ (vcxproj) 文件之间的依赖关系图。我有终极版,也有架构图生成工具,但它们似乎总是失败。

我发现以下 C# 有一些很好的答案。 Visual Studio 项目的依赖关系图

c++ visual-studio

5
推荐指数
0
解决办法
742
查看次数

如何在npm包中找到反向依赖?

我想知道哪些软件包依赖于express已安装的sails/kraken/loopback/hapi/koa等等.是否有npm子命令或其他方法在本地列出一个特定的npm软件包上的所有反向依赖项?

node.js npm

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

使用window.open()下载文件,如何不删除URL中的#?

所以我在点击元素时使用JavaScript下载文件,如下所示:

HTML

<p onclick="download()">Click Here</p>
Run Code Online (Sandbox Code Playgroud)

JavaScript的

function download(){
    window.open("file.pdf")
}
Run Code Online (Sandbox Code Playgroud)

在单击元素之前,URL中有一些#text,如下所示: folder/subfolder/index.html#text

如果文件在浏览器中打开,它将替换当前选项卡,当您按后退按钮返回页面时(例如使用PDF),任何#text都会保留在URL中.但是,如果只是下载文件,则会删除任何#text .

我该怎么做才能删除#text或者如何将它返回到URL?由于页面实际上没有重新加载,我无法放入可能检测URL中应该包含#text的代码.什么可能是另一种解决方法?

我遇到的问题是一个链接下载一个未在浏览器中打开的文件(不是PDF),因此它会导致#text消失.然后,当我点击另一个在浏览器中打开文件的链接(PDF)时,当我单击后退按钮时,#text消失了,但它允许我的程序知道要查看的视图.

javascript

1
推荐指数
1
解决办法
3万
查看次数

在IE 11/Edge中使用Roboto字体

我想使用谷歌Roboto字体,但它在IE11/Edge中看起来非常难看.这是我的示例代码:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <link href='http://fonts.googleapis.com/css?family=Roboto:300' rel='stylesheet' type='text/css'>
    <title></title>
</head>
<body>
<div style="font-family: 'Roboto'">
    közötti m?veleteire.
</div>
Run Code Online (Sandbox Code Playgroud)

上部文本显示在IE/Edge中,较低的是Chrome版本.(字母ű非常难看)如何在IE中正确使用Roboto?

html css fonts roboto

4
推荐指数
1
解决办法
5720
查看次数