internal override float SignedDistanceUnchecked(ref Vector3 position, float lodVoxelSize, VRage.Noise.IMyModule macroModulator, VRage.Noise.IMyModule detailModulator) { Vector3 localPosition = position - m_translation; float distance = localPosition.Length(); return(SignedDistanceInternal(lodVoxelSize, macroModulator, detailModulator, ref localPosition, distance)); }
internal override float SignedDistance(ref Vector3 position, float lodVoxelSize, VRage.Noise.IMyModule macroModulator, VRage.Noise.IMyModule detailModulator) { Vector3 localPosition = position - m_translation; float distance = localPosition.Length(); if ((m_innerRadius - lodVoxelSize) > distance) { return(-1f); } if ((m_outerRadius + lodVoxelSize) < distance) { return(1f); } return(SignedDistanceInternal(lodVoxelSize, macroModulator, detailModulator, ref localPosition, distance)); }