| Purpose: | Attaches an annotation to an entity. | 
  
  
  
    | 
 | 
  
  
    | Derivation: | ATTRIB_ANNOTATION : ATTRIB_SYS : ATTRIB : ENTITY : ACIS_OBJECT : - | 
  
  
  
    | 
 | 
  
  
    | SAT Identifier: | "attrib_annotation" | 
  
  
  
    | 
 | 
  
  
    | Filename: | kern/kernel/kerndata/data/annotation.hxx | 
  
  
  
    | 
 | 
  
  
    | Description: | During a modeling operation, annotations are attached to the annotated entities via 
        ATTRIB_ANNOTATION. This allows quick updating of the annotations as the operation progresses. These attributes are normally removed when the operation completes, but they may be retained by setting the 
        unhook_annotations option to 
        FALSE. | 
  
  
  
    | 
 | 
  
  
    | 
 | This attribute gets attached to the 
        ENTITY(s) being annotated and points to the annotation. The 
        lose method calls the virtual member delete method on the annotation, letting it know the 
        ENTITY did not survive to the end of the 
        BULLETIN_BOARD. | 
  
  
  
    | 
 | 
  
  
    | References: | KERN | ANNOTATION | 
  
  
  
    | 
 | 
  
  
    | Constructor: | public: ATTRIB_ANNOTATION::ATTRIB_ANNOTATION 
        ( | 
  
  
    | 
 | 
 | const ENTITY* e | // owning entity | 
  
  
    | 
 | 
 | 
 | = NULL, | 
  
  
    | 
 | 
 | ANNOTATION* a | // attach annotation | 
  
  
    | 
 | 
 | 
 | = NULL | 
  
  
    | 
 | 
 | ); | 
  
  
  
    | 
 | 
  
  
    | 
 | C++ initialize constructor requests memory for this object and populates it with the data supplied as arguments. Applications should call this constructor only with the overloaded 
        new operator, because this reserves the memory on the heap, a requirement to support roll back and history management. | 
  | 
 | 
  | 
 | 
 | 
  
  
  
    | 
 | 
  
  
    | Destructor: | public: virtual void ATTRIB_ANNOTATION::lose 
        (); | 
  
  
  
    | 
 | 
  
  
    | 
 | Posts a delete bulletin to the bulletin board indicating the instance is no longer used in the active model. The 
        lose methods for attached attributes are also called. | 
  | 
 | 
  | 
 | 
 | 
  
  
  
    | 
 | 
  
  
    | 
 | 
 | protected: virtual | 
  
  
    | 
 | 
 | ATTRIB_ANNOTATION::~ATTRIB_ANNOTATION (); | 
  
  
  
    | 
 | 
  
  
    | 
 | This 
        C++ destructor should never be called directly. Instead, applications should use the overloaded 
        lose method inherited from the 
        ENTITY class, because this supports history management. (For example, 
        x=new ATTRIB_ANNOTATION(...) then later 
        x->lose.) | 
  | 
 | 
  | 
 | 
 | 
  
  
  
  
  
  
    | Methods: | public: ANNOTATION* | 
  
  
    | 
 | 
 | ATTRIB_ANNOTATION::annotation () const; | 
  
  
  
    | 
 | 
  
  
    | 
 | Returns a pointer to the annotation stored in 
        ATTRIB_ANNOTATION. | 
  | 
 | 
  | 
 | 
 | 
  
  
  
    | 
 | 
  
  
    | 
 | 
 | public: virtual logical | 
  
  
    | 
 | 
 | ATTRIB_ANNOTATION::copyable () const; | 
  
  
  
    | 
 | 
  
  
    | 
 | Annotations attached via this attribute can be saved, but not copied. If copied, they would end up referring to data from the source entity. | 
  | 
 | 
  | 
 | 
 | 
  
  
  
    | 
 | 
  
  
    | 
 | 
 | public: virtual void ATTRIB_ANNOTATION::debug_ent 
        ( | 
  
  
    | 
 | 
 | FILE* | // output file pointer | 
  
  
    | 
 | 
 | ) const; | 
  
  
  
    | 
 | 
  
  
    | 
 | Outputs the entity debug information to the specified file. | 
  | 
 | 
  | 
 | 
 | 
  
  
  
    | 
 | 
  
  
    | 
 | 
 | public: virtual int ATTRIB_ANNOTATION::identity 
        ( | 
  
  
    | 
 | 
 | int | 
 | // level | 
  
  
    | 
 | 
 | 
 | = 0 | 
  
  
    | 
 | 
 | ) const; | 
  
  
  
    | 
 | 
  
  
    | 
 | If 
        level is unspecified or 0, returns the type identifier 
        ATTRIB_SYS_TYPE. If 
        level is specified, returns 
        ATTRIB_SYS_TYPE for that level of derivation from 
        ENTITY. The level of this class is defined as 
        ATTRIB_SYS_LEVEL. | 
  | 
 | 
  | 
 | 
 | 
  
  
  
    | 
 | 
  
  
    | 
 | 
 | public: virtual logical | 
  
  
    | 
 | 
 | ATTRIB_ANNOTATION::is_deepcopyable () const; | 
  
  
  
    | 
 | 
  
  
    | 
 | Returns 
        TRUE if the attribute is deep copyable. | 
  | 
 | 
  | 
 | 
 | 
  
  
  
    | 
 | 
  
  
    | 
 | 
 | public: virtual logical | 
  
  
    | 
 | 
 | ATTRIB_ANNOTATION::pattern_compatible ( | 
  
  
    | 
 | 
 | ) const; | 
  
  
  
    | 
 | 
  
  
    | 
 | Returns 
        TRUE if this is pattern compatible. | 
  | 
 | 
  | 
 | 
 | 
  
  
  
    | 
 | 
  
  
    | 
 | 
 | public: void ATTRIB_ANNOTATION::restore_common 
        (); | 
  
  
  
    | 
 | 
  
  
    | 
 | The 
        RESTORE_DEF macro expands to the 
        restore_common method, which is used in reading information from a SAT file. This method is never called directly. It is called by a higher hierarchical function if an item in the SAT file is determined to be of this class type. An instance of this class will already have been created through the allocation constructor. This method then populates the class instance with the appropriate data from the SAT file. | 
  
  
  
    | 
 | 
  
  
    | 
 | read_ptr | 
 | 
 | 
 | 
 | Pointer to annotation data. | 
  | 
 | 
  | 
 | 
 | 
  
  
  
    | 
 | 
  
  
    | 
 | 
 | public: void ATTRIB_ANNOTATION::set_annotation 
        ( | 
  
  
    | 
 | 
 | ANNOTATION* a | // annotation to use | 
  
  
    | 
 | 
 | ); | 
  
  
  
    | 
 | 
  
  
    | 
 | Specifies the annotation to associate with 
        ATTRIB_ANNOTATION. | 
  | 
 | 
  | 
 | 
 | 
  
  
  
    | 
 | 
  
  
    | 
 | 
 | public: virtual const char* | 
  
  
    | 
 | 
 | ATTRIB_ANNOTATION::type_name () const; | 
  
  
  
    | 
 | 
  
  
    | 
 | Returns the string "attrib_annotation". | 
  
  
  
    | 
 | 
  
  
    | Internal Use: | merge_owner, save, save_common, split_owner, trans_owner, warp_owner | 
  | 
 | 
  | 
 | 
 | 
  
  
  
    | 
 | 
  
  
    | Related Fncs: | is_ATTRIB_ANNOTATION |