| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- // /*
- // * Author: Axel Antoine
- // * mail: ax.antoine@gmail.com
- // * website: http://axantoine.com
- // * Created on Wed Nov 09 2022
- // *
- // * Loki, Inria project-team with Université de Lille
- // * within the Joint Research Unit UMR 9189
- // * CNRS - Centrale Lille - Université de Lille, CRIStAL
- // * https://loki.lille.inria.fr
- // *
- // * Licence: Licence.md
- // */
- //
- // import { Vector3 } from "three";
- // import { Halfedge } from "../core/Halfedge";
- // import { HalfedgeDS } from "../core/HalfedgeDS";
- //
- // const position = new Vector3();
- // const struct = new HalfedgeDS();
- //
- // /*
- // * v2
- // * | \
- // * | \
- // * | \
- // * v0 ----- v1
- // */
- //
- // const v0 = struct.addVertex(position.set(0,0,0));
- // const v1 = struct.addVertex(position.set(2,0,0));
- // const v2 = struct.addVertex(position.set(0,2,0));
- //
- // let v0v1: Halfedge, v1v2: Halfedge, v2v0: Halfedge;
- // let v1v0: Halfedge, v2v1: Halfedge, v0v2: Halfedge;
- //
- // test("Link isolated vertices", () => {
- // v0v1 = struct.addEdge(v0, v1);
- // v1v0 = v0v1.twin;
- // expect(v0v1.next).toBeHalfedge(v1v0);
- // expect(v0v1.prev).toBeHalfedge(v1v0);
- // expect(v1v0.next).toBeHalfedge(v0v1);
- // expect(v1v0.prev).toBeHalfedge(v0v1);
- // expect(v0.halfedge).toBeHalfedge(v0v1);
- // expect(v1.halfedge).toBeHalfedge(v1v0);
- // });
- //
- // test("Link to another edge", () => {
- // v1v2 = struct.addEdge(v1, v2);
- // v2v1 = v1v2.twin;
- // expect(v1v2.next).toBeHalfedge(v2v1);
- // expect(v1v2.prev).toBeHalfedge(v0v1);
- // expect(v0v1.next).toBeHalfedge(v1v2);
- // expect(v2v1.next).toBeHalfedge(v1v0);
- // expect(v2v1.prev).toBeHalfedge(v1v2);
- // expect(v1v0.prev).toBeHalfedge(v2v1);
- // });
- //
- // test("Closing a loop", () => {
- // v2v0 = struct.addEdge(v2, v0);
- // v0v2 = v2v0.twin;
- // expect(v2v0.next).toBeHalfedge(v0v1);
- // expect(v2v0.prev).toBeHalfedge(v1v2);
- // expect(v0v1.prev).toBeHalfedge(v2v0);
- // expect(v1v2.next).toBeHalfedge(v2v0);
- //
- // expect(v0v2.next).toBeHalfedge(v2v1);
- // expect(v0v2.prev).toBeHalfedge(v1v0);
- // expect(v1v0.next).toBeHalfedge(v0v2);
- // expect(v2v1.prev).toBeHalfedge(v0v2);
- // });
- //
- //
- // /**
- // * v2 v3
- // * | \ | \
- // * | \ | \
- // * | \ | \
- // * v0 ---- v1 ---- v4
- // */
- //
- // const v3 = struct.addVertex(position.set(2,2,0));
- // const v4 = struct.addVertex(position.set(4,2,0));
- //
- // let v3v1: Halfedge, v1v4: Halfedge, v4v3: Halfedge;
- // let v1v3: Halfedge, v4v1: Halfedge, v3v4: Halfedge;
- //
- // test("Connect to face", () => {
- // struct.addFace([v0v1, v1v2, v2v0]);
- //
- // v3v1 = struct.addEdge(v3, v1);
- // v1v3 = v3v1.twin;
- //
- // expect(v3v1.next).toBeHalfedge(v1v0);
- // expect(v3v1.prev).toBeHalfedge(v1v3);
- // expect(v1v3.next).toBeHalfedge(v3v1);
- // expect(v1v3.prev).toBeHalfedge(v2v1);
- //
- // v1v4 = struct.addEdge(v1, v4);
- // v4v1 = v1v4.twin;
- //
- // expect(v1v4.next).toBeHalfedge(v4v1);
- // expect(v4v1.prev).toBeHalfedge(v1v4);
- // expect(v4v1.next).toBeOneOfHalfedges([v1v0, v1v3]);
- // expect(v1v4.prev).toBeOneOfHalfedges([v2v1, v3v1]);
- //
- // v4v3 = struct.addEdge(v4, v3);
- // v3v4 = v4v3.twin;
- // expect(v4v3.next).toBeHalfedge(v3v1);
- // expect(v4v3.prev).toBeHalfedge(v1v4);
- // expect(v3v4.next).toBeHalfedge(v4v1);
- // expect(v3v4.prev).toBeHalfedge(v1v3);
- //
- // struct.addFace([v1v4, v4v3, v3v1]);
- //
- // expect(v1v4.prev).toBeHalfedge(v3v1);
- // expect(v3v1.next).toBeHalfedge(v1v4);
- //
- // });
|