home *** CD-ROM | disk | FTP | other *** search
/ Windows 95 v2.4 Fix / W95-v2.4fix.iso / ACADWIN / ADS / CPP / GENERAL / ADSENT.H < prev    next >
Encoding:
C/C++ Source or Header  |  1995-02-08  |  3.6 KB  |  111 lines

  1. /* 
  2.     ADSENT.H -
  3.     
  4.     This file:
  5.  
  6.         Declares basic ADS entity objects.  Only a few objects,
  7.         ADS_POINT, ADS_LINE and ADS_CIRCLE are declared.  This 
  8.         should be expanded to cover wider range of ACAD objects 
  9.         by the users.
  10.  
  11.     (C) Copyright 1988-1994 by Autodesk, Inc.
  12.  
  13.     This program is copyrighted by Autodesk, Inc. and is  licensed
  14.     to you under the following conditions.  You may not distribute
  15.     or  publish the source code of this program in any form.   You
  16.     may  incorporate this code in object form in derivative  works
  17.     provided  such  derivative  works  are  (i.) are  designed and
  18.     intended  to  work  solely  with  Autodesk, Inc. products, and
  19.     (ii.)  contain  Autodesk's  copyright  notice  "(C)  Copyright
  20.     1988-1994 by Autodesk, Inc."
  21.  
  22.     AUTODESK  PROVIDES THIS PROGRAM "AS IS" AND WITH  ALL  FAULTS.
  23.     AUTODESK  SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF  MER-
  24.     CHANTABILITY OR FITNESS FOR A PARTICULAR USE.  AUTODESK,  INC.
  25.     DOES  NOT  WARRANT THAT THE OPERATION OF THE PROGRAM  WILL  BE
  26.     UNINTERRUPTED OR ERROR FREE.
  27.  
  28. */
  29. #ifndef ADSENT_H
  30. #define ADSENT_H
  31.  
  32. //-----------------------------------------------------------------------------
  33. struct ADS_ENT_OBJ;
  34. struct ADS_GENERIC_ENTITY;
  35. struct ADS_LINE;
  36. struct ADS_CIRCLE;
  37. struct ADS_SHAPE;
  38. struct ADS_POINT;
  39.  
  40. //-----------------------------------------------------------------------------
  41. ADS_ENT_OBJ*    MakeAdsEntity( struct resbuf *rb );
  42. void            DeleteAdsEntity( ADS_ENT_OBJ* ent_obj );
  43.  
  44. //-----------------------------------------------------------------------------
  45. struct ADS_ENT_OBJ : ADS_OBJ
  46. {
  47.     struct resbuf   *rb;
  48.     BOOL            Valid(){ return ( rb != NULL ); }
  49.                     ADS_ENT_OBJ( struct resbuf *_rb )
  50.                     {
  51.                         rb = _rb;
  52.                     }
  53.     virtual         ~ADS_ENT_OBJ(){}
  54.     ADS_STRING      formatstring;
  55.                     operator ADS_STRING&();
  56.  
  57.     virtual ADS_STRING& 
  58.                     FormatEntityString();
  59.     char            *GetEntityName( char *buf, int buf_size );
  60.  
  61. private:
  62.     BASIC_CPP_STUFF( ADS_ENT_OBJ )
  63. };
  64.  
  65. //-----------------------------------------------------------------------------
  66. struct ADS_GENERIC_ENTITY : ADS_ENT_OBJ
  67. {
  68.                 ADS_GENERIC_ENTITY( struct resbuf *_rb ) : ADS_ENT_OBJ( _rb ){}
  69. private:
  70.     BASIC_CPP_STUFF( ADS_GENERIC_ENTITY )
  71. };
  72.  
  73. //-----------------------------------------------------------------------------
  74. struct ADS_LINE : ADS_ENT_OBJ
  75. {
  76.                     ADS_LINE( struct resbuf *_rb ) : ADS_ENT_OBJ( _rb ){}
  77.     ads_point&      GetPrimary( ads_point& dst ) const;
  78.     ads_point&      GetSecondary( ads_point& dst ) const;
  79. private:
  80.     BASIC_CPP_STUFF( ADS_LINE )
  81. };
  82.  
  83. //-----------------------------------------------------------------------------
  84. struct ADS_CIRCLE : ADS_ENT_OBJ
  85. {
  86.                     ADS_CIRCLE( struct resbuf *_rb ) : ADS_ENT_OBJ( _rb ){}
  87.     ads_point&      GetRadius( ads_point& dst );
  88.     ads_point&      GetCenter( ads_point& dst );
  89.  
  90. private:
  91.     BASIC_CPP_STUFF( ADS_CIRCLE )
  92. };
  93.  
  94. //-----------------------------------------------------------------------------
  95. struct ADS_SHAPE : ADS_ENT_OBJ
  96. {
  97.                     ADS_SHAPE( struct resbuf *_rb ) : ADS_ENT_OBJ( _rb ){}
  98. private:
  99.     BASIC_CPP_STUFF( ADS_SHAPE )
  100. };
  101.  
  102. //-----------------------------------------------------------------------------
  103. struct ADS_POINT : ADS_ENT_OBJ
  104. {
  105.                     ADS_POINT( struct resbuf *_rb ) : ADS_ENT_OBJ( _rb ){}
  106. private:
  107.     BASIC_CPP_STUFF( ADS_POINT )
  108. };
  109.  
  110. #endif
  111.