ACDBCORE2D_PORT ADESK_SEALED_VIRTUAL Acad::ErrorStatus getGripPoints( AcDbGripDataPtrArray& grips, const double curViewUnitSize, const int gripSize, const AcGeVector3d& curViewDir, const int bitflags ) const;
Parameters |
Description |
AcDbGripDataPtrArray& grips |
Array of pointers to dynamically allocated AcDbGripData objects, one for each grip point in the entity |
const double curViewUnitSize |
Size, in pixels, of one drawing unit in the current viewport |
const int gripSize |
Current grip size, in pixels |
const AcGeVector3d& curViewDir |
Vector describing the view direction in the current viewport |
const int bitflags |
Bitmap of one or more flags specified by the GetGripPointsFlags enumeration |
Function usage
This function gets the grip points and supporting information about the grips for this entity. It is not intended to be called by ObjectARX applications. However, it is possible to do so.
Function implementation in derived classes
The grips array cannot be empty, so it is important to append to it rather than assign to any existing objects in the array. If you wish to preallocate space for the elements to be appended, be sure to include the existing array logical length when calculating a new physical length for the array.
The caller is responsible for freeing the AcDbGripData objects whose pointers are in the grips array.
After appending pointers to all desired AcDbGripData objects, the method should return Acad::eOk. The default implementation of this method returns Acad::eNotImplemented. When Acad::eNotImplemented is returned, the application should call the other overload of this method:
virtual Acad::ErrorStatus getGripPoints( AcGePoint3dArray& gripPoints, AcDbIntArray& osnapModes, AcDbIntArray& geomIds) const;
If an value other than Acad::eOk or Acad::eNotImplemented is returned, grips are not activated for this entity.
When a custom entity is displayed as part of a block reference, only the getGripPoints() method is called on the entity . The moveGripPointsAt() is not called and none of the custom functionality implemented by this overload is used. getGripPoints() is called with the bitflags argument's kGripPointsOnly bit set to indicate that only the grip points will be used. The grip points are displayed as standard "old style"grips, if they are displayed at all (see the GRIPBLOCK sysvar) and none of the callbacks pointed to by the grips array are invoked.