Open Search
    c4d_snapdata.h File Reference

    Classes

    struct  SnapPoint
     
    struct  SnapResult
     
    struct  SnapExclude
     
    struct  SnapStruct
     
    class  SnapData
     
    class  SnapCore
     

    Macros

    #define ID_SNAPCORE_LIB
     
    #define PLUGINFLAG_SNAP_INFERRED_POINT
     
    #define PLUGINFLAG_SNAP_INFERRED_AXIS
     
    #define PLUGINFLAG_SNAP_MIDPOINT
     

    Typedefs

    typedef SnapDataSnapDataAllocator()
     

    Enumerations

    enum class  SNAPPRIORITY {
      NONE ,
      PLANE ,
      GUIDE ,
      EDGE ,
      POINT
    }
     
    enum class  SNAPFLAGS {
      NONE ,
      IGNORE_SELECTED ,
      IGNORE_AXIS ,
      POINTSONLY ,
      SURFACEONLY
    }
     
    enum class  INFERREDGUIDETYPE {
      POINT ,
      LINE ,
      PLANE
    }
     

    Functions

    enum SNAPPRIORITY MAXON_ENUM_ORDERED_LIST (SNAPPRIORITY)
     
    enum SNAPFLAGS MAXON_ENUM_FLAGS (SNAPFLAGS)
     
    enum INFERREDGUIDETYPE MAXON_ENUM_LIST (INFERREDGUIDETYPE)
     
    Bool IsSnapEnabled (const BaseDocument *doc, Int32 mode=-1)
     
    void EnableSnap (Bool state, BaseDocument *doc, Int32 mode=-1)
     
    BaseContainer SnapSettings (BaseDocument *doc, Int32 snapmode=-1)
     
    void SnapSettings (BaseDocument *doc, const BaseContainer &bc, Int32 snapmode=-1)
     
    Bool IsQuantizeEnabled (BaseDocument *doc)
     
    Float QuantizeStep (BaseDocument *doc, BaseDraw *bd, Int32 quantize_mode)
     
    void QuantizeStep (BaseDocument *doc, BaseDraw *bd, Int32 quantize_mode, Float val)
     
    Bool GetConstructionPlane (BaseDraw *bd, Matrix *mg, Vector *scale, BaseObject **op)
     
    BaseObjectGetWorkplaneObject (BaseDocument *doc)
     
    Bool WorkplaneLock (BaseDocument *doc)
     
    void WorkplaneLock (BaseDraw *bd, Int32 locked)
     
    Matrix GetWorkplaneMatrix (BaseDocument *doc, BaseDraw *bd)
     
    Bool RegisterSnapPlugin (Int32 id, const maxon::String &str, const maxon::String &help, Int32 snapinfo, SnapDataAllocator *npalloc, BaseBitmap *icon, SNAPPRIORITY priority=SNAPPRIORITY::EDGE, Int32 parent_mode=-1)
     

    Variables

     NONE
     
     PLANE
     
     GUIDE
     
     EDGE
     
     POINT
     
     IGNORE_SELECTED
     
     IGNORE_AXIS
     
     POINTSONLY
     
     SURFACEONLY
     
     LINE
     
    struct SnapPoint MAXON_ENUM_LIST
     

    Variable Documentation

    ◆ NONE

    NONE

    The lowest priority.

    No flags.

    ◆ PLANE

    PLANE

    Planar snapping e.g. to the workplane or a polygon surface.

    Inferred plane, act just like a normal guide plane.

    ◆ GUIDE

    GUIDE

    Guide snapping lower then edge to allow correct drawing for dynamic guides.

    ◆ EDGE

    EDGE

    Edge snapping is a slightly higher priority and will override planar snapping.

    ◆ POINT

    POINT

    Point snapping is the highest (default) snapping priority.

    An inferred point or "axis", create guides along all perpendicular lines to the point in x, y and z.

    ◆ IGNORE_SELECTED

    IGNORE_SELECTED

    Do not snap to the selected objects or components.

    ◆ IGNORE_AXIS

    IGNORE_AXIS

    Do not snap to the active axis.

    ◆ POINTSONLY

    POINTSONLY

    Ignore modes with lower priority than points.

    ◆ SURFACEONLY

    SURFACEONLY

    Ignore modes with higher priority than planes.

    ◆ LINE

    LINE

    Inferred guide line, act just like a normal guide line, e.g. along an edge.