Высказывать здесь своё "фи" по этому поводу можно, но глупо
Я высказал "фэ" или "фу", но никак ни "фи" )) и не вам, Дмитрий, а Autodesk. Не считаю глупостью высказывать своё мнение, хотя бы потому, что дружу с unmanaged С++, и знаю, как выглядит и работает качественный код.
Кривая реализация классов Civil 3d мне встречается не первый раз. Первый раз извинения приносил Augusto Goncalves: Unfortunately the Alignment object will not support custom grip points with overrule.
Прошу прощения, что не по теме … тогда всё упёрлось в это:
public class GripVectorOverrule : GripOverrule
{
// A static pointer to our overrule instance
static public GripVectorOverrule theOverrule = new GripVectorOverrule();
public override void GetGripPoints(Entity entity,
GripDataCollection grips,
double curViewUnitSize,
int gripSize,
Vector3d curViewDir,
GetGripPointsFlags bitFlags)
{
myGripData data = new myGripData();
data.GripPoint = newPoint3d(0.0, 0.0, 0.0);
grips.Add(data);
}
}
public class myGripData : GripData
{
public bool result;
public myGripData()
{
result = false;
base.DrawAtDragImageGripPoint = true;
base.RubberBandLineDisabled = true;
}
public new bool AutoDelete
{
get { return result; }
}
}
[CommandMethod("Test")]
public void OverruleStart()
{
ObjectOverrule.AddOverrule(RXClass.GetClass(typeof(Alignment)),
GripVectorOverrule.theOverrule, true);
}