Threejs-加载模型和唯一ID

时间:2019-02-01 16:03:21

标签: three.js

我想加载模型并在加载时保持相同的唯一ID。卸载模型时,将其删除并处理网格几何体和网格材料,然后调用localStorage.clear()。但是,当我重新加载模型时,所有网格的唯一ID是不同的。我可以在每次加载时获得相同ID的唯一方法是也调用location.reload(true)。但我不想重新加载,因为整个应用程序将在角度启动。关于如何清除threejs用来获取可重用ID的内存的任何建议?预先感谢!

1 个答案:

答案 0 :(得分:0)

Three.js自动将UUID分配给对象。但是,没有理由不能覆盖此值:

SELECT D.PAYER_TIN, '001', 13679089, YEAR( (CONVERT(CHAR(10),A.PYMNT_DT,121))), D.PAYEE_TIN, 
CASE WHEN  D.TIN_TYPE = 'F' THEN '001' 
     WHEN  D.TIN_TYPE = 'S' THEN '002' 
     END AS 'Taxpayer Identification Type', 
A.VENDOR_ID,
CASE WHEN D.TIN_TYPE = 'F' THEN LEFT(D.PAYEE_NAME1, 30)
     WHEN D.TIN_TYPE = 'S' AND CHARINDEX(',',D.PAYEE_NAME1) > 0 THEN LEFT(D.PAYEE_NAME1,CHARINDEX(',', D.PAYEE_NAME1)-1)  --END AS 'First Name'
     WHEN D.TIN_TYPE = 'S' AND CHARINDEX(',',D.PAYEE_NAME1) > 0 THEN RIGHT(D.PAYEE_NAME1, LEN(PAYEE_CITYSTZIP) - CHARINDEX(',', D.PAYEE_NAME1)+1 ) --END AS 'Last Name'
     ELSE D.PAYEE_NAME1
     END AS 'PAYEE_NAME1', 
D.PAYEE_NAME1,
D.PAYEE_NAME2,  
D.PAYEE_ADDRESS1, 
LEFT(PAYEE_CITYSTZIP,CHARINDEX(',', PAYEE_CITYSTZIP)-1), 
SUBSTRING(PAYEE_CITYSTZIP, CHARINDEX(',', PAYEE_CITYSTZIP)+2, 2), 
RIGHT(PAYEE_CITYSTZIP, LEN(PAYEE_CITYSTZIP) - CHARINDEX(',', PAYEE_CITYSTZIP)-7), 
'US', 
D.WTHD_BOX1, 
D.WTHD_BOX2, 
D.WTHD_BOX3, 
D.WTHD_BOX6, 
D.WTHD_BOX7, 
D.WTHD_BOX14, 
D.WTHD_BOX16, 
D.WTHD_BOX18 
FROM PS_WTHD_TRXN_TBL A, PS_TMP_1099_COPYB D, PS_GHS_1099_PA_VW2 E 
WHERE ( A.WTHD_TYPE = D.WTHD_TYPE 
     AND A.VENDOR_ID = D.VENDOR_ID 
     AND YEAR( A.PYMNT_DT) = '2018'
     AND A.WTHD_CLASS IN ('01','02','07') 
     AND A.VENDOR_ID = E.VENDOR_ID 
     AND A.VNDR_LOC = E.VNDR_LOC 
     AND E.YEAR = '2018' 
     AND D.WTHD_CNTL_ID = 'TGC' 
     AND D.WTHD_BOX18 > 0.00
     AND A.VENDOR_ID <> '80577A' ) 
GROUP BY  D.PAYER_TIN,  YEAR( (CONVERT(CHAR(10),A.PYMNT_DT,121))),  D.PAYEE_TIN,  CASE WHEN  D.TIN_TYPE = 'F' THEN '001' 
WHEN  D.TIN_TYPE = 'S' THEN '002' 
END,  A.VENDOR_ID,  D.PAYEE_NAME1,  D.PAYEE_NAME2,   D.PAYEE_ADDRESS1, 
LEFT(PAYEE_CITYSTZIP,CHARINDEX(',', PAYEE_CITYSTZIP)-1),  
SUBSTRING(PAYEE_CITYSTZIP, CHARINDEX(',', PAYEE_CITYSTZIP)+2, 2),  
RIGHT(PAYEE_CITYSTZIP, LEN(PAYEE_CITYSTZIP) - CHARINDEX(',', PAYEE_CITYSTZIP)-7), 
D.WTHD_BOX1,  D.WTHD_BOX2,  D.WTHD_BOX3,  D.WTHD_BOX6,  D.WTHD_BOX7,  D.WTHD_BOX14,  D.WTHD_BOX16,  D.WTHD_BOX18
, CASE WHEN D.TIN_TYPE = 'F' THEN LEFT(D.PAYEE_NAME1, 30)
     ELSE D.PAYEE_NAME1
     END, 
       CASE WHEN D.TIN_TYPE = 'F' THEN LEFT(D.PAYEE_NAME1, 30)
       WHEN D.TIN_TYPE = 'S' AND CHARINDEX(',',D.PAYEE_NAME1) > 0 THEN LEFT(D.PAYEE_NAME1,CHARINDEX(',', D.PAYEE_NAME1)-1)  --END AS 'First Name'
       WHEN D.TIN_TYPE = 'S' AND CHARINDEX(',',D.PAYEE_NAME1) > 0 THEN RIGHT(D.PAYEE_NAME1, LEN(PAYEE_CITYSTZIP) - CHARINDEX(',', D.PAYEE_NAME1)+1 ) --END AS 'Last Name'
       ELSE D.PAYEE_NAME1
       END

这样,每次加载Object3D时,它将具有与上次相同的“唯一” ID。