MCPcopy Create free account
hub / github.com/carbonengine/trinity / GenLineSets

Method GenLineSets

trinity/Tr2RotationTool.cpp:218–366  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

216}
217
218void Tr2RotationTool::GenLineSets()
219{
220 Matrix rotateMat;
221 Vector3* c_tris = NULL;
222 Vector3* p_tris = NULL;
223 int numVectors = 0;
224
225 Tr2EffectPtr mSPHLineEffect;
226 Tr2EffectPtr mLineEffect;
227 Tr2EffectPtr pEffect;
228
229
230 if( !m_xLine.CreateInstance() ||
231 !m_yLine.CreateInstance() ||
232 !m_zLine.CreateInstance() ||
233 !m_wLine.CreateInstance() ||
234 !m_wwLine.CreateInstance() ||
235 !mLineEffect.CreateInstance() ||
236 !mSPHLineEffect.CreateInstance() ||
237 !pEffect.CreateInstance() )
238 {
239 return;
240 }
241
242 mSPHLineEffect->SetEffectPathName( "res:/Graphics/Effect/Managed/Utility/LinesRotationTool.fx" );
243 mLineEffect->SetEffectPathName( "res:/Graphics/Effect/Managed/Utility/LinesNoZ.fx" );
244 pEffect->SetEffectPathName( "res:/Graphics/Effect/Managed/Utility/PrimitivePicking.fx" );
245
246 // wwLine
247 c_tris = Tr2ManipulationTool::GetCirclePoints( 1.0f, 60, &numVectors );
248 for( int i = 0; i < numVectors / 2; i++ )
249 {
250 m_wwLine->AddLine( c_tris[i * 2], v4LightGray, c_tris[i * 2 + 1], v4LightGray );
251 }
252 delete[] c_tris;
253
254 c_tris = Tr2ManipulationTool::GetCircleTriangles( 1.0f, 60, &numVectors );
255 for( int i = 0; i < numVectors / 3; i++ )
256 {
257 m_wwLine->AddPickingTriangle( c_tris[i * 3], c_tris[i * 3 + 1], c_tris[i * 3 + 2] );
258 }
259 delete[] c_tris;
260 m_wwLine->SubmitChanges();
261 m_wwLine->m_name = "ww";
262 m_wwLine->m_scaleByDistanceToView = true;
263 m_wwLine->m_effect = mLineEffect;
264 m_wwLine->m_pickEffect = pEffect;
265 m_wwLine->m_viewOriented = true;
266
267 // wLine
268 c_tris = Tr2ManipulationTool::GetCirclePoints( 1.2f, 60, &numVectors );
269 for( int i = 0; i < numVectors / 2; i++ )
270 {
271 m_wLine->AddLine( c_tris[i * 2], v4Cyan, c_tris[i * 2 + 1], v4Cyan );
272 int numVectorsB = 0;
273 p_tris = Tr2ManipulationTool::GetTrianglesAroundLine( c_tris[i * 2], c_tris[i * 2 + 1], 0.08f, &numVectorsB );
274 for( int i = 0; i < numVectorsB / 3; i++ )
275 {

Callers

nothing calls this directly

Calls 5

CreateInstanceMethod · 0.80
SetEffectPathNameMethod · 0.80
AddPickingTriangleMethod · 0.80
AddLineMethod · 0.45
SubmitChangesMethod · 0.45

Tested by

no test coverage detected