| 216 | } |
| 217 | |
| 218 | void 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 | { |
nothing calls this directly
no test coverage detected