/// <summary>
/// Create a New SceneObjectGroup/Part by raycasting
/// </summary>
/// <param name="ownerID"></param>
/// <param name="groupID"></param>
/// <param name="pos"></param>
/// <param name="rot"></param>
/// <param name="shape"></param>
public virtual ISceneEntity AddNewPrim (
UUID ownerID, UUID groupID, Vector3 pos, Quaternion rot, PrimitiveBaseShape shape)
{
SceneObjectGroup sceneObject = new SceneObjectGroup (ownerID, pos, rot, shape, m_DefaultObjectName,
m_parentScene);
// If an entity creator has been registered for this prim type then use that
if (m_entityCreators.ContainsKey ((PCode)shape.PCode)) {
sceneObject =
(SceneObjectGroup)
m_entityCreators [(PCode)shape.PCode].CreateEntity (sceneObject, ownerID, groupID, pos, rot, shape);
} else {
// Otherwise, use this default creation code;
sceneObject.SetGroup (groupID, ownerID, false);
AddPrimToScene (sceneObject);
sceneObject.ScheduleGroupUpdate (PrimUpdateFlags.ForcedFullUpdate);
}
return sceneObject;
}