MCPcopy Create free account
hub / github.com/TorqueGameEngines/Torque3D / _generateSegments

Method _generateSegments

Engine/source/environment/river.cpp:1612–1654  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1610}
1611
1612void River::_generateSegments()
1613{
1614 mSegments.clear();
1615
1616 for ( U32 i = 0; i < mSlices.size() - 1; i++ )
1617 {
1618 RiverSegment seg( &mSlices[i], &mSlices[i+1] );
1619
1620 mSegments.push_back( seg );
1621 }
1622
1623 /*
1624 #ifdef TORQUE_DEBUG
1625
1626 for ( U32 i = 0; i < mSegments.size(); i++ )
1627 {
1628 const RiverSegment &segment = mSegments[i];
1629 PlaneF normal0 = MathUtils::mTriangleNormal( segment.slice0->p0, segment.slice1->p0, segment.slice1->p2 );
1630 PlaneF normal1 = MathUtils::mTriangleNormal( segment.slice0->p0, segment.slice1->p2, segment.slice0->p2 );
1631 AssertFatal( true || normal0 != normal1, "River::generateSegments, segment is not coplanar!" );
1632 }
1633
1634 #endif // TORQUE_DEBUG
1635 */
1636
1637 // We have to go back and generate normals for each slice
1638 // to be used in calculation of the reflect plane.
1639 // The slice-normal we calculate are relative to the surface normal
1640 // of the segments adjacent to the slice.
1641 /*
1642 if ( mSlices.size() >= 2 )
1643 {
1644 mSlices[0].normal = mSegments[0].getSurfaceNormal();
1645 for ( U32 i = 1; i < mSlices.size() - 1; i++ )
1646 {
1647 mSlices[i].normal = ( mSegments[i-1].getSurfaceNormal() + mSegments[i].getSurfaceNormal() ) / 2;
1648 }
1649 mSlices.last().normal = mSegments.last().getSurfaceNormal();
1650 }
1651 */
1652
1653 _generateVerts();
1654}
1655
1656void River::_generateVerts()
1657{

Callers

nothing calls this directly

Calls 3

clearMethod · 0.45
sizeMethod · 0.45
push_backMethod · 0.45

Tested by

no test coverage detected