#ifndef __LIBTOOL_H
#include <libtool.h>
#endif

#include "PropManager\CPropMen.h"

//-------------------------------------------------------------------------------
//  
// ---

class Orifice: public PropertyManagerObject
{

protected :
  double              diameter;       //  
  IEntityPtr          face1;          //  
  IEntityPtr          face2;          //  
  IEntityPtr          macroObject;    // 
  IUserDataStoragePtr params;         //  
  IFeaturePtr         rolbackFeature; // 
  _bstr_t             varName;        //                
  bool                oldExclude;     //      
public:
                         Orifice     ();  // 
                                          //    
  void                   SetUserData();
                         //     
  void                   GetUserData();

  virtual  void          SetFace1   ( IEntityPtr & face );    //   
  virtual  void          SetFace2   ( IEntityPtr & face );    //   
  virtual  IEntity*      GetFace1   ( bool addRef = false );  //   
  virtual  IEntity*      GetFace2   ( bool addRef = false );  //   
  virtual double         GetDiameter(){ return diameter; }

  virtual  void          Create     ();                       //  
  virtual  void          EndProcess (); //   
  //prChangeControlValue -   
  virtual bool OnChangeControlValue( long ctrlID, const VARIANT & newVal );
                  
  _bstr_t                CreateVariable( reference c );
  bool                   UpdateVariable( IEntityPtr & sketch );
};

