pull/7/head
cx 7 years ago
parent 8ed28d2ef1
commit 70eead16b3

@ -1,11 +1,12 @@
import { Vector3Ext } from '../../src/Geometry/Vector3Ext';
import { GeUtils } from '../../src/Geometry/GeUtils';
import * as THREE from "three";
import { Vector3 } from 'three';
test("测试平行", () =>
{
let v1 = new Vector3Ext(0, 0, 1);
let v2 = new Vector3Ext(0.0001, 0, 1);
expect(v1.isParallelTo(v2)).toBe(false);
let v1 = new Vector3(0, 0, 1);
let v2 = new Vector3(0.0001, 0, 1);
expect(GeUtils.isParallelTo(v1, v2)).toBe(false);
expect(v1.equals(new THREE.Vector3(0, 0, 1))).toBe(true);
expect(v2.equals(new THREE.Vector3(0.0001, 0, 1))).toBe(true);
// console.log(v1.isParallelTo(v2));

@ -1,77 +0,0 @@
{
"name": "xcad",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"dev": "webpack-dev-server",
"dts": "tcm src -o ./src/UI/css_dts",
"build": "webpack --config dll.config.js &&webpack",
"i": "npm i && npm i -dev",
"test": "jest"
},
"private": true,
"author": "",
"license": "ISC",
"devDependencies": {
"@types/dat-gui": "^0.6.3",
"@types/jest": "^20.0.5",
"@types/jquery": "^3.2.10",
"@types/lodash": "^4.14.71",
"@types/node": "^7.0.39",
"@types/react": "^15.6.1",
"@types/react-dom": "^15.5.1",
"@types/stats.js": "^0.16.0",
"@types/three": "^0.84.19",
"add-asset-html-webpack-plugin": "^2.0.1",
"awesome-typescript-loader": "^3.2.2",
"css-loader": "^0.28.4",
"extract-text-webpack-plugin": "^2.1.2",
"file-loader": "^0.11.2",
"html-loader": "^0.4.5",
"html-webpack-plugin": "^2.30.1",
"jest": "^20.0.4",
"jest-environment-node-debug": "^2.0.0",
"less": "^2.7.2",
"less-loader": "^4.0.5",
"mobx-react-devtools": "^4.2.15",
"required-loader": "^1.2.11",
"source-map-loader": "^0.2.1",
"style-loader": "^0.18.2",
"ts-jest": "^20.0.7",
"typed-css-modules": "^0.2.0",
"typescript": "^2.4.2",
"typings": "^2.1.1",
"typings-for-css-modules-loader": "^1.5.0",
"url-loader": "^0.5.9",
"webpack": "^3.4.1",
"webpack-dev-server": "^2.6.1"
},
"dependencies": {
"css-element-queries": "^0.4.0",
"dat.gui": "^0.6.1",
"golden-layout": "^1.5.9",
"jquery": "^3.2.1",
"lodash": "^4.17.4",
"mobx": "^3.2.2",
"mobx-react": "^4.2.2",
"mobx-state-tree": "^0.9.5",
"react": "^15.6.1",
"react-dom": "^15.6.1",
"stats.js": "^0.17.0",
"three": "^0.85.2",
"verb-nurbs-web": "^2.1.3",
"xaop": "^1.1.5"
},
"jest": {
"transform": {
".(ts|tsx)": "<rootDir>/node_modules/ts-jest/preprocessor.js"
},
"testRegex": "(/__test__/.*|\\.(test|spec))\\.(ts|tsx|js)$",
"moduleFileExtensions": [
"ts",
"tsx",
"js"
]
}
}

@ -1,6 +1,5 @@
import { Vector3, Matrix4 } from 'three';
import * as THREE from 'three';
import { Vector3Ext } from './Vector3Ext';
export namespace GeUtils
{
@ -45,9 +44,7 @@ export namespace GeUtils
export function isParallelTo(v1: THREE.Vector3, v2: THREE.Vector3)
{
let vx1 = new Vector3Ext().copy(v1);
let vx2 = new Vector3Ext().copy(v2);
return vx1.isParallelTo(vx2);
return v1.clone().cross(v2).lengthSq() < 1e-9;
}
export function ptToString(v: THREE.Vector3, fractionDigits: number = 3): string
@ -58,11 +55,3 @@ export namespace GeUtils
}).join(",")
}
}
let v = new THREE.Vector3(1.224444444)
let s = GeUtils.ptToString(v);
console.log(s);

@ -1,24 +0,0 @@
import * as THREE from "three";
export class Vector3Ext extends THREE.Vector3
{
constructor(x?: number, y?: number, z?: number)
{
super(x, y, z);
}
/**
* ,1e-5.
*
* @export
* @param {THREE.Vector3} v
* @returns {boolean}
*/
isParallelTo(v: Vector3Ext): boolean
{
let v2 = this.clone().cross(v);
return v2.lengthSq() < 1e-10;
}
}
Loading…
Cancel
Save