找回密码 注册 QQ登录
一站式解决方案

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
查看: 16174|回复: 4
打印 上一主题 下一主题

CATGraphicPathElement 問題

[复制链接]
跳转到指定楼层
1
发表于 2006-4-20 15:13:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多同行朋友,交流,分享,学习。

您需要 登录 才可以下载或查看,没有帐号?注册

x
各位,

請問大家知不知道怎樣從CATPickPath中拿出CATGraphicPathElement 呢. 我用2D Point 來 pick 一點得出CATPickPath, 之後用GeneratePathElementFromPickPath() 來轉換成CATPathElement, 但是我想要的是CATGraphicPathElement.

我亦嘗試自己construct一個CATGraphicPathElement 物件, 但是我不知道第一個參數"const CATBaseUnknown*  iTopObject" 是什麼來的.

請問應該怎樣做呢才可以拿到或construct到一個CATGraphicPathElement 呢?

謝謝
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2006-4-21 17:26:54 | 只看该作者
CATGraphicPathElement 可是个好东西。
我记着好像有很简单的方法得到。。。
能不能贴一下header?
3
发表于 2006-4-27 12:52:48 | 只看该作者
00001 #ifndef CATGraphicPathElement_h
00002 #define CATGraphicPathElement_h
00003
00004 // COPYRIGHT DASSAULT SYSTEMES 1999
00005
00012 /*
00013  * HISTORY :
00014  *   17 Juillet 2001 - CDT : on surcharge le new/delete pour augmenter les perfos
00015  */
00016
00017
00018 #include "CATVisualization.h"
00019
00020 #include "CATPathElement.h"
00021 #include "CATEventSubscriber.h"
00022 #include "CATMathPointf.h"
00023 #include "CATMathDirectionf.h"
00024
00025
00026 class CATViewer;
00027
00028
00043 class ExportedByCATVisualization CATGraphicPathElement : public CATPathElement
00044 {
00045
00047   CATDeclareClass;
00048
00049     
00050   
00051 public:
00052   
00076   CATGraphicPathElement ( const CATBaseUnknown* iTopObject,
00077                           CATViewer*            iViewer,
00078                           CATMathPointf         iIntersectionPoint,
00079                           CATMathDirectionf     iNormal,
00080                           CATMathDirectionf     iGlobalNormal=CATMathDirectionf() );
00081   
00088   CATGraphicPathElement ( const CATGraphicPathElement& iBrother );
00089   
00090
00099   CATGraphicPathElement ( const CATPathElement& iBrother );
00100
00101   
00112   CATGraphicPathElement& operator = ( const CATGraphicPathElement& iBrother);
00113   
00114   
00115   virtual ~CATGraphicPathElement ();
00116   
00117   
00125   virtual CATPathElement* Clone () const;
00126   
00127   
00158   virtual CATBaseUnknown* FindElement (const IID& iid);
00159
00160   
00165   virtual CATPathElement* GetSubPath ( const CATListOfCATString iList_Interfaces, int &oPos ) const;
00166   
00167   
00172   virtual void SaveOriginalPath (CATPathElement* iPath);
00173
00178   virtual CATPathElement* GetOriginalPath ();
00179   
00184   virtual void SetOffsetForSearch (int iOffset);
00185   
00190   virtual CATBaseUnknown* FindObject(const IID &iid) ;
00191
00201   void SetInteractiveContext ( CATVisInteractiveContext iContext );
00202
00203
00212   CATVisInteractiveContext GetInteractiveContext () const;
00213   
00214   
00215 private:
00216   
00217   void CleanReference (CATCallbackEvent, void *, CATNotification *, CATSubscriberData, CATCallback );
00218   
00219   CATViewer*        _viewer;
00220   CATMathPointf     _intersection;
00221   CATMathDirectionf _globalNormale;
00222   CATMathDirectionf _normale;
00223   CATVisInteractiveContext _context;  
00224   // embedded path element ; useful for OtherSelection/DrillingSelector
00225   CATPathElement*   _OriginalPath;
00226   
00227 };
00228
00229 #endif
4
发表于 2006-4-27 14:23:23 | 只看该作者
谢谢acoka,
原来这么简单;
CATGraphicPathElement ( const CATPathElement& iBrother );
5
发表于 2006-4-27 18:09:28 | 只看该作者
如果是想从agent或CATPathElement里取
不妨试试看下面的src能不能用。(不太确定是不是可行)

CATPathElement* pPathElement = ipAgent->GetValue();
if( !pPathElement ) {
        break;
}
CATGraphicPathElement * pPtSel = (CATGraphicPathElement *)
                        pPathElement->SearchObject(CATGraphicPathElement ::ClassName());

原理和CATGraphicPathElement ( const CATPathElement& iBrother )基本相同
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2024-12-28 08:10 , Processed in 0.024694 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

快速回复 返回顶部 返回列表