马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
- ;; ! ****************************************************************************
- ;; ! GE_PntInView
- ;; ! ****************************************************************************
- ;; ! Function : Check if point is in current viewport
- ;; ! Auguments: 'pt' - The point to be checked
- ;; ! Return : T or nil depending on 'pt' is in viewport or not
- ;; ! Updated : April 22, 1998
- ;; ! (C) 1999-2004, Four Dimension Technologies, Bangalore
- ;; ! e-mail : [email]rakesh.rao@4d-technologies.com[/email]
- ;; ! Web : [url]www.4d-technologies.com[/url]
- ;; ! ****************************************************************************
- ;; 测试点是否在当前视口
- (defun GE_PntInView (pt / vc Y_Len ssz X_Pix Y_Pix X_Len ll ur)
- (setq
- vc (getvar "VIEWCTR")
- Y_Len (getvar "VIEWSIZE")
- ssz (getvar "SCREENSIZE")
- X_Pix (car ssz)
- Y_Pix (cadr ssz)
- X_Len (* (/ X_Pix Y_Pix) Y_Len)
- ll (polar vc (MI_d2r 180.0) (* 0.5 X_Len))
- ur (polar ll 0.0 X_Len)
- ll (polar ll (MI_d2r 270.0) (* 0.5 Y_Len))
- ur (polar ur (MI_d2r 90.0) (* 0.5 Y_Len))
- )
- (if (and
- (> (car pt) (car ll))
- (< (car pt) (car ur))
- (> (cadr pt) (cadr ll))
- (< (cadr pt) (cadr ur))
- )
- T
- nil
- )
- )
|