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 (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.