3.3.3.2 C#方式


        private static CimClassDesc m_sDesc = new CimClassDesc(typeof(MyFirstCimObject), CimGraphicObject.Desc(), false); 

         

 new public static CimClassDesc Desc ()
 {

    return m_sDesc;

 }

           

public override CimClassDesc GetDesc ()

{
    return Desc();
}

         

public override string SchemaName

{
    get
    {
        return "<MySchemaName>";
    }
}

        

public override string ECClassName
 {
    get
    {
        return "<MyECClassName>";
    }
 }

       

new public static StatusInt DoRegister ()
{
    return CimClassFactory.Instance.DoRegister(Desc());
}

      

       

new public static StatusInt DoUnregister ()
{
    return CimClassFactory.Instance.DoUnregister(Desc());
}

     

       

protected override BentleyStatus OnGeneratePresentation (ViewContext viewContext)
{
   // TODO: 对象绘制逻辑
   return BentleyStatus.Success;
}

        

public override DTransform3d LocalTransform
{
    get
        {
               // TODO: 添加逻辑以计算相对变换矩阵
        return newPlace.Transform;
        }
}

        

protected override StatusInt OnPreInitData ()
{
    // TODO: 添加初始化逻辑
    return base.OnPreInitData();
}

       

protected override StatusInt OnPostInitData ()
{
    StatusInt retVal = base.OnPostInitData();
    // TODO: 添加初始化逻辑
    return retVal;
}

在包含当前类的CimModule派生类的_OnModuleLoaded()方法中执行 MyFirstCimObject::DoRegister();