DayZ 1.28
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ CalcDamageAreaRotation()

void ItemBase::CalcDamageAreaRotation ( float angle_deg,
out vector center,
out vector orientation )
inlineprotected

См. определение в файле BaseBuildingBase.c строка 1133

1134 {
1135 if ( angle_deg != 0 )
1136 {
1137 //orientation
1138 orientation[0] = orientation[0] - angle_deg;
1139
1140 //center
1141 vector rotate_axis;
1142 if ( MemoryPointExists( "rotate_axis" ) )
1143 {
1144 rotate_axis = ModelToWorld( GetMemoryPointPos( "rotate_axis" ) );
1145 }
1146 float r_center_x = ( Math.Cos( angle_deg * Math.DEG2RAD ) * ( center[0] - rotate_axis[0] ) ) - ( Math.Sin( angle_deg * Math.DEG2RAD ) * ( center[2] - rotate_axis[2] ) ) + rotate_axis[0];
1147 float r_center_z = ( Math.Sin( angle_deg * Math.DEG2RAD ) * ( center[0] - rotate_axis[0] ) ) + ( Math.Cos( angle_deg * Math.DEG2RAD ) * ( center[2] - rotate_axis[2] ) ) + rotate_axis[2];
1148 center[0] = r_center_x;
1149 center[2] = r_center_z;
1150 }
1151 }

Перекрестные ссылки Math::Cos(), Math::DEG2RAD и Math::Sin().