Cleanup: move comments above definitions
For clang-format not to wrap definitions.
This commit is contained in:
		@@ -49,16 +49,24 @@ extern "C" {
 | 
			
		||||
 | 
			
		||||
/* special struct for use in constraint evaluation */
 | 
			
		||||
typedef struct bConstraintOb {
 | 
			
		||||
	struct Depsgraph *depsgraph;/* to get evaluated armature. */
 | 
			
		||||
	struct Scene *scene;        /* for system time, part of deglobalization, code nicer later with local time (ton) */
 | 
			
		||||
	struct Object *ob;          /* if pchan, then armature that it comes from, otherwise constraint owner */
 | 
			
		||||
	struct bPoseChannel *pchan; /* pose channel that owns the constraints being evaluated */
 | 
			
		||||
	/** to get evaluated armature. */
 | 
			
		||||
	struct Depsgraph *depsgraph;
 | 
			
		||||
	/** for system time, part of deglobalization, code nicer later with local time (ton) */
 | 
			
		||||
	struct Scene *scene;
 | 
			
		||||
	/** if pchan, then armature that it comes from, otherwise constraint owner */
 | 
			
		||||
	struct Object *ob;
 | 
			
		||||
	/** pose channel that owns the constraints being evaluated */
 | 
			
		||||
	struct bPoseChannel *pchan;
 | 
			
		||||
 | 
			
		||||
	float matrix[4][4];         /* matrix where constraints are accumulated + solved */
 | 
			
		||||
	float startmat[4][4];       /* original matrix (before constraint solving) */
 | 
			
		||||
	/** matrix where constraints are accumulated + solved */
 | 
			
		||||
	float matrix[4][4];
 | 
			
		||||
	/** original matrix (before constraint solving) */
 | 
			
		||||
	float startmat[4][4];
 | 
			
		||||
 | 
			
		||||
	short type;                 /* type of owner  */
 | 
			
		||||
	short rotOrder;             /* rotation order for constraint owner (as defined in eEulerRotationOrders in BLI_math.h) */
 | 
			
		||||
	/** type of owner  */
 | 
			
		||||
	short type;
 | 
			
		||||
	/** rotation order for constraint owner (as defined in eEulerRotationOrders in BLI_math.h) */
 | 
			
		||||
	short rotOrder;
 | 
			
		||||
} bConstraintOb;
 | 
			
		||||
 | 
			
		||||
/* ---------------------------------------------------------------------------- */
 | 
			
		||||
@@ -83,31 +91,35 @@ typedef void (*ConstraintIDFunc)(struct bConstraint *con, struct ID **idpoin, bo
 | 
			
		||||
 */
 | 
			
		||||
typedef struct bConstraintTypeInfo {
 | 
			
		||||
	/* admin/ident */
 | 
			
		||||
	short type;             /* CONSTRAINT_TYPE_### */
 | 
			
		||||
	short size;             /* size in bytes of the struct */
 | 
			
		||||
	char name[32];          /* name of constraint in interface */
 | 
			
		||||
	char structName[32];    /* name of struct for SDNA */
 | 
			
		||||
	/** CONSTRAINT_TYPE_### */
 | 
			
		||||
	short type;
 | 
			
		||||
	/** size in bytes of the struct */
 | 
			
		||||
	short size;
 | 
			
		||||
	/** name of constraint in interface */
 | 
			
		||||
	char name[32];
 | 
			
		||||
	/** name of struct for SDNA */
 | 
			
		||||
	char structName[32];
 | 
			
		||||
 | 
			
		||||
	/* data management function pointers - special handling */
 | 
			
		||||
	/* free any data that is allocated separately (optional) */
 | 
			
		||||
	/** free any data that is allocated separately (optional) */
 | 
			
		||||
	void (*free_data)(struct bConstraint *con);
 | 
			
		||||
	/* run the provided callback function on all the ID-blocks linked to the constraint */
 | 
			
		||||
	/** run the provided callback function on all the ID-blocks linked to the constraint */
 | 
			
		||||
	void (*id_looper)(struct bConstraint *con, ConstraintIDFunc func, void *userdata);
 | 
			
		||||
	/* copy any special data that is allocated separately (optional) */
 | 
			
		||||
	/** copy any special data that is allocated separately (optional) */
 | 
			
		||||
	void (*copy_data)(struct bConstraint *con, struct bConstraint *src);
 | 
			
		||||
	/* set settings for data that will be used for bConstraint.data (memory already allocated using MEM_callocN) */
 | 
			
		||||
	/** set settings for data that will be used for bConstraint.data (memory already allocated using MEM_callocN) */
 | 
			
		||||
	void (*new_data)(void *cdata);
 | 
			
		||||
 | 
			
		||||
	/* target handling function pointers */
 | 
			
		||||
	/* for multi-target constraints: return that list; otherwise make a temporary list (returns number of targets) */
 | 
			
		||||
	/** for multi-target constraints: return that list; otherwise make a temporary list (returns number of targets) */
 | 
			
		||||
	int (*get_constraint_targets)(struct bConstraint *con, struct ListBase *list);
 | 
			
		||||
	/* for single-target constraints only: flush data back to source data, and the free memory used */
 | 
			
		||||
	/** for single-target constraints only: flush data back to source data, and the free memory used */
 | 
			
		||||
	void (*flush_constraint_targets)(struct bConstraint *con, struct ListBase *list, bool no_copy);
 | 
			
		||||
 | 
			
		||||
	/* evaluation */
 | 
			
		||||
	/* set the ct->matrix for the given constraint target (at the given ctime) */
 | 
			
		||||
	/** set the ct->matrix for the given constraint target (at the given ctime) */
 | 
			
		||||
	void (*get_target_matrix)(struct Depsgraph *depsgraph, struct bConstraint *con, struct bConstraintOb *cob, struct bConstraintTarget *ct, float ctime);
 | 
			
		||||
	/* evaluate the constraint for the given time */
 | 
			
		||||
	/** evaluate the constraint for the given time */
 | 
			
		||||
	void (*evaluate_constraint)(struct bConstraint *con, struct bConstraintOb *cob, struct ListBase *targets);
 | 
			
		||||
} bConstraintTypeInfo;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -45,9 +45,11 @@
 | 
			
		||||
#include "ED_fileselect.h"
 | 
			
		||||
 | 
			
		||||
#ifdef WIN32
 | 
			
		||||
#  include <windows.h> /* need to include windows.h so _WIN32_IE is defined  */
 | 
			
		||||
#  include <shlobj.h>  /* for SHGetSpecialFolderPath, has to be done before BLI_winstuff
 | 
			
		||||
                        * because 'near' is disabled through BLI_windstuff */
 | 
			
		||||
   /* Need to include windows.h so _WIN32_IE is defined. */
 | 
			
		||||
#  include <windows.h>
 | 
			
		||||
   /* For SHGetSpecialFolderPath, has to be done before BLI_winstuff
 | 
			
		||||
    * because 'near' is disabled through BLI_windstuff. */
 | 
			
		||||
#  include <shlobj.h>
 | 
			
		||||
#  include "BLI_winstuff.h"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -51,10 +51,14 @@
 | 
			
		||||
#define IMB_FILENAME_SIZE	1024
 | 
			
		||||
 | 
			
		||||
typedef struct DDSData {
 | 
			
		||||
	unsigned int fourcc; /* DDS fourcc info */
 | 
			
		||||
	unsigned int nummipmaps; /* The number of mipmaps in the dds file */
 | 
			
		||||
	unsigned char *data; /* The compressed image data */
 | 
			
		||||
	unsigned int size; /* The size of the compressed data */
 | 
			
		||||
	/** DDS fourcc info */
 | 
			
		||||
	unsigned int fourcc;
 | 
			
		||||
	/** The number of mipmaps in the dds file */
 | 
			
		||||
	unsigned int nummipmaps;
 | 
			
		||||
	/** The compressed image data */
 | 
			
		||||
	unsigned char *data;
 | 
			
		||||
	/** The size of the compressed data */
 | 
			
		||||
	unsigned int size;
 | 
			
		||||
} DDSData;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@@ -66,9 +70,13 @@ typedef struct DDSData {
 | 
			
		||||
 *
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/* ibuf->ftype flag, main image types */
 | 
			
		||||
/* Warning: Keep explicit value assignments here, this file is included in areas where not all format defines
 | 
			
		||||
 *          are set (e.g. intern/dds only get WITH_DDS, even if TIFF, HDR etc are also defined). See T46524. */
 | 
			
		||||
 | 
			
		||||
/* Warning: Keep explicit value assignments here,
 | 
			
		||||
 * this file is included in areas where not all format defines are set
 | 
			
		||||
 * (e.g. intern/dds only get WITH_DDS, even if TIFF, HDR etc are also defined).
 | 
			
		||||
 * See T46524. */
 | 
			
		||||
 | 
			
		||||
/** #ImBuf.ftype flag, main image types. */
 | 
			
		||||
enum eImbTypes {
 | 
			
		||||
	IMB_FTYPE_PNG       = 1,
 | 
			
		||||
	IMB_FTYPE_TGA       = 2,
 | 
			
		||||
@@ -136,24 +144,30 @@ enum eImbTypes {
 | 
			
		||||
 | 
			
		||||
typedef struct ImbFormatOptions {
 | 
			
		||||
	short flag;
 | 
			
		||||
	char quality; /* quality serves dual purpose as quality number for jpeg or compression amount for png */
 | 
			
		||||
	/** quality serves dual purpose as quality number for jpeg or compression amount for png */
 | 
			
		||||
	char quality;
 | 
			
		||||
} ImbFormatOptions;
 | 
			
		||||
 | 
			
		||||
typedef struct ImBuf {
 | 
			
		||||
	struct ImBuf *next, *prev;	/**< allow lists of ImBufs, for caches or flipbooks */
 | 
			
		||||
 | 
			
		||||
	/* dimensions */
 | 
			
		||||
	int x, y;				/* width and Height of our image buffer.
 | 
			
		||||
							 * Should be 'unsigned int' since most formats use this.
 | 
			
		||||
							 * but this is problematic with texture math in imagetexture.c
 | 
			
		||||
							 * avoid problems and use int. - campbell */
 | 
			
		||||
	/** Width and Height of our image buffer.
 | 
			
		||||
	 * Should be 'unsigned int' since most formats use this.
 | 
			
		||||
	 * but this is problematic with texture math in imagetexture.c
 | 
			
		||||
	 * avoid problems and use int. - campbell */
 | 
			
		||||
	int x, y;
 | 
			
		||||
 | 
			
		||||
	unsigned char planes;	/* Active amount of bits/bitplanes */
 | 
			
		||||
	int channels;			/* amount of channels in rect_float (0 = 4 channel default) */
 | 
			
		||||
	/** Active amount of bits/bitplanes */
 | 
			
		||||
	unsigned char planes;
 | 
			
		||||
	/** Number of channels in `rect_float` (0 = 4 channel default) */
 | 
			
		||||
	int channels;
 | 
			
		||||
 | 
			
		||||
	/* flags */
 | 
			
		||||
	int	flags;				/* Controls which components should exist. */
 | 
			
		||||
	int	mall;				/* what is malloced internal, and can be freed */
 | 
			
		||||
	/** Controls which components should exist. */
 | 
			
		||||
	int	flags;
 | 
			
		||||
	/** what is malloced internal, and can be freed */
 | 
			
		||||
	int	mall;
 | 
			
		||||
 | 
			
		||||
	/* pixels */
 | 
			
		||||
 | 
			
		||||
@@ -179,42 +193,63 @@ typedef struct ImBuf {
 | 
			
		||||
	unsigned int **tiles;
 | 
			
		||||
 | 
			
		||||
	/* zbuffer */
 | 
			
		||||
	int	*zbuf;				/* z buffer data, original zbuffer */
 | 
			
		||||
	float *zbuf_float;		/* z buffer data, camera coordinates */
 | 
			
		||||
	/** z buffer data, original zbuffer */
 | 
			
		||||
	int	*zbuf;
 | 
			
		||||
	/** z buffer data, camera coordinates */
 | 
			
		||||
	float *zbuf_float;
 | 
			
		||||
 | 
			
		||||
	/* parameters used by conversion between byte and float */
 | 
			
		||||
	float dither;				/* random dither value, for conversion from float -> byte rect */
 | 
			
		||||
	/** random dither value, for conversion from float -> byte rect */
 | 
			
		||||
	float dither;
 | 
			
		||||
 | 
			
		||||
	/* mipmapping */
 | 
			
		||||
	struct ImBuf *mipmap[IMB_MIPMAP_LEVELS]; /* MipMap levels, a series of halved images */
 | 
			
		||||
	/** MipMap levels, a series of halved images */
 | 
			
		||||
	struct ImBuf *mipmap[IMB_MIPMAP_LEVELS];
 | 
			
		||||
	int miptot, miplevel;
 | 
			
		||||
 | 
			
		||||
	/* externally used data */
 | 
			
		||||
	int index;						/* reference index for ImBuf lists */
 | 
			
		||||
	int	userflags;					/* used to set imbuf to dirty and other stuff */
 | 
			
		||||
	struct IDProperty *metadata;	/* image metadata */
 | 
			
		||||
	void *userdata;					/* temporary storage */
 | 
			
		||||
	/** reference index for ImBuf lists */
 | 
			
		||||
	int index;
 | 
			
		||||
	/** used to set imbuf to dirty and other stuff */
 | 
			
		||||
	int	userflags;
 | 
			
		||||
	/** image metadata */
 | 
			
		||||
	struct IDProperty *metadata;
 | 
			
		||||
	/** temporary storage */
 | 
			
		||||
	void *userdata;
 | 
			
		||||
 | 
			
		||||
	/* file information */
 | 
			
		||||
	enum eImbTypes	ftype;				/* file type we are going to save as */
 | 
			
		||||
	ImbFormatOptions foptions;			/* file format specific flags */
 | 
			
		||||
	char name[IMB_FILENAME_SIZE];		/* filename associated with this image */
 | 
			
		||||
	char cachename[IMB_FILENAME_SIZE];	/* full filename used for reading from cache */
 | 
			
		||||
	/** file type we are going to save as */
 | 
			
		||||
	enum eImbTypes	ftype;
 | 
			
		||||
	/** file format specific flags */
 | 
			
		||||
	ImbFormatOptions foptions;
 | 
			
		||||
	/** filename associated with this image */
 | 
			
		||||
	char name[IMB_FILENAME_SIZE];
 | 
			
		||||
	/** full filename used for reading from cache */
 | 
			
		||||
	char cachename[IMB_FILENAME_SIZE];
 | 
			
		||||
 | 
			
		||||
	/* memory cache limiter */
 | 
			
		||||
	struct MEM_CacheLimiterHandle_s *c_handle; /* handle for cache limiter */
 | 
			
		||||
	int refcounter; /* reference counter for multiple users */
 | 
			
		||||
	/** handle for cache limiter */
 | 
			
		||||
	struct MEM_CacheLimiterHandle_s *c_handle;
 | 
			
		||||
	/** reference counter for multiple users */
 | 
			
		||||
	int refcounter;
 | 
			
		||||
 | 
			
		||||
	/* some parameters to pass along for packing images */
 | 
			
		||||
	unsigned char *encodedbuffer;     /* Compressed image only used with png currently */
 | 
			
		||||
	unsigned int   encodedsize;       /* Size of data written to encodedbuffer */
 | 
			
		||||
	unsigned int   encodedbuffersize; /* Size of encodedbuffer */
 | 
			
		||||
	/** Compressed image only used with png currently */
 | 
			
		||||
	unsigned char *encodedbuffer;
 | 
			
		||||
	/** Size of data written to encodedbuffer */
 | 
			
		||||
	unsigned int   encodedsize;
 | 
			
		||||
	/** Size of encodedbuffer */
 | 
			
		||||
	unsigned int   encodedbuffersize;
 | 
			
		||||
 | 
			
		||||
	/* color management */
 | 
			
		||||
	struct ColorSpace *rect_colorspace;          /* color space of byte buffer */
 | 
			
		||||
	struct ColorSpace *float_colorspace;         /* color space of float buffer, used by sequencer only */
 | 
			
		||||
	unsigned int *display_buffer_flags;          /* array of per-display display buffers dirty flags */
 | 
			
		||||
	struct ColormanageCache *colormanage_cache;  /* cache used by color management */
 | 
			
		||||
	/** color space of byte buffer */
 | 
			
		||||
	struct ColorSpace *rect_colorspace;
 | 
			
		||||
	/** color space of float buffer, used by sequencer only */
 | 
			
		||||
	struct ColorSpace *float_colorspace;
 | 
			
		||||
	/** array of per-display display buffers dirty flags */
 | 
			
		||||
	unsigned int *display_buffer_flags;
 | 
			
		||||
	/** cache used by color management */
 | 
			
		||||
	struct ColormanageCache *colormanage_cache;
 | 
			
		||||
	int colormanage_flag;
 | 
			
		||||
	rcti invalid_rect;
 | 
			
		||||
 | 
			
		||||
@@ -226,11 +261,18 @@ typedef struct ImBuf {
 | 
			
		||||
 * \brief userflags: Flags used internally by blender for imagebuffers
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#define IB_BITMAPDIRTY			(1 << 1)	/* image needs to be saved is not the same as filename */
 | 
			
		||||
#define IB_MIPMAP_INVALID		(1 << 2)	/* image mipmaps are invalid, need recreate */
 | 
			
		||||
#define IB_RECT_INVALID			(1 << 3)	/* float buffer changed, needs recreation of byte rect */
 | 
			
		||||
#define IB_DISPLAY_BUFFER_INVALID	(1 << 4)	/* either float or byte buffer changed, need to re-calculate display buffers */
 | 
			
		||||
#define IB_PERSISTENT				(1 << 5)	/* image buffer is persistent in the memory and should never be removed from the cache */
 | 
			
		||||
enum {
 | 
			
		||||
	/** image needs to be saved is not the same as filename */
 | 
			
		||||
	IB_BITMAPDIRTY =          (1 << 1),
 | 
			
		||||
	/** image mipmaps are invalid, need recreate */
 | 
			
		||||
	IB_MIPMAP_INVALID =       (1 << 2),
 | 
			
		||||
	/** float buffer changed, needs recreation of byte rect */
 | 
			
		||||
	IB_RECT_INVALID =         (1 << 3),
 | 
			
		||||
	/** either float or byte buffer changed, need to re-calculate display buffers */
 | 
			
		||||
	IB_DISPLAY_BUFFER_INVALID =   (1 << 4),
 | 
			
		||||
	/** image buffer is persistent in the memory and should never be removed from the cache */
 | 
			
		||||
	IB_PERSISTENT =               (1 << 5),
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * \name Imbuf Component flags
 | 
			
		||||
@@ -238,22 +280,27 @@ typedef struct ImBuf {
 | 
			
		||||
 *
 | 
			
		||||
 * \{ */
 | 
			
		||||
 | 
			
		||||
#define IB_rect				(1 << 0)
 | 
			
		||||
#define IB_test				(1 << 1)
 | 
			
		||||
#define IB_zbuf				(1 << 3)
 | 
			
		||||
#define IB_mem				(1 << 4)
 | 
			
		||||
#define IB_rectfloat		(1 << 5)
 | 
			
		||||
#define IB_zbuffloat		(1 << 6)
 | 
			
		||||
#define IB_multilayer		(1 << 7)
 | 
			
		||||
#define IB_metadata			(1 << 8)
 | 
			
		||||
#define IB_animdeinterlace	(1 << 9)
 | 
			
		||||
#define IB_tiles			(1 << 10)
 | 
			
		||||
#define IB_tilecache		(1 << 11)
 | 
			
		||||
#define IB_alphamode_premul	(1 << 12)  /* indicates whether image on disk have premul alpha */
 | 
			
		||||
#define IB_alphamode_detect	(1 << 13)  /* if this flag is set, alpha mode would be guessed from file */
 | 
			
		||||
#define IB_ignore_alpha		(1 << 14)  /* ignore alpha on load and substitute it with 1.0f */
 | 
			
		||||
#define IB_thumbnail		(1 << 15)
 | 
			
		||||
#define IB_multiview		(1 << 16)
 | 
			
		||||
enum {
 | 
			
		||||
	IB_rect             = 1 << 0,
 | 
			
		||||
	IB_test             = 1 << 1,
 | 
			
		||||
	IB_zbuf             = 1 << 3,
 | 
			
		||||
	IB_mem              = 1 << 4,
 | 
			
		||||
	IB_rectfloat        = 1 << 5,
 | 
			
		||||
	IB_zbuffloat        = 1 << 6,
 | 
			
		||||
	IB_multilayer       = 1 << 7,
 | 
			
		||||
	IB_metadata         = 1 << 8,
 | 
			
		||||
	IB_animdeinterlace  = 1 << 9,
 | 
			
		||||
	IB_tiles            = 1 << 10,
 | 
			
		||||
	IB_tilecache        = 1 << 11,
 | 
			
		||||
	/** indicates whether image on disk have premul alpha */
 | 
			
		||||
	IB_alphamode_premul = 1 << 12,
 | 
			
		||||
	/** if this flag is set, alpha mode would be guessed from file */
 | 
			
		||||
	IB_alphamode_detect = 1 << 13 ,
 | 
			
		||||
	/** ignore alpha on load and substitute it with 1.0f */
 | 
			
		||||
	IB_ignore_alpha     = 1 << 14 ,
 | 
			
		||||
	IB_thumbnail        = 1 << 15,
 | 
			
		||||
	IB_multiview        = 1 << 16,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/** \} */
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -61,12 +61,15 @@
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
 | 
			
		||||
#ifdef WIN32
 | 
			
		||||
#  include <windows.h> /* need to include windows.h so _WIN32_IE is defined  */
 | 
			
		||||
   /* Need to include windows.h so _WIN32_IE is defined. */
 | 
			
		||||
#  include <windows.h>
 | 
			
		||||
#  ifndef _WIN32_IE
 | 
			
		||||
#    define _WIN32_IE 0x0400 /* minimal requirements for SHGetSpecialFolderPath on MINGW MSVC has this defined already */
 | 
			
		||||
     /* Minimal requirements for SHGetSpecialFolderPath on MINGW MSVC has this defined already. */
 | 
			
		||||
#    define _WIN32_IE 0x0400
 | 
			
		||||
#  endif
 | 
			
		||||
#  include <shlobj.h>  /* for SHGetSpecialFolderPath, has to be done before BLI_winstuff
 | 
			
		||||
                        * because 'near' is disabled through BLI_windstuff */
 | 
			
		||||
   /* For SHGetSpecialFolderPath, has to be done before BLI_winstuff
 | 
			
		||||
    * because 'near' is disabled through BLI_windstuff */
 | 
			
		||||
#  include <shlobj.h>
 | 
			
		||||
#  include <direct.h> /* chdir */
 | 
			
		||||
#  include "BLI_winstuff.h"
 | 
			
		||||
#  include "utfconv.h"
 | 
			
		||||
 
 | 
			
		||||
@@ -215,8 +215,10 @@ typedef struct BuildModifierData {
 | 
			
		||||
 | 
			
		||||
/* Build Modifier -> flag */
 | 
			
		||||
enum {
 | 
			
		||||
	MOD_BUILD_FLAG_RANDOMIZE = (1 << 0),  /* order of vertices is randomized */
 | 
			
		||||
	MOD_BUILD_FLAG_REVERSE   = (1 << 1),  /* frame range is reversed, resulting in a deconstruction effect */
 | 
			
		||||
	/** order of vertices is randomized */
 | 
			
		||||
	MOD_BUILD_FLAG_RANDOMIZE = (1 << 0),
 | 
			
		||||
	/** frame range is reversed, resulting in a deconstruction effect */
 | 
			
		||||
	MOD_BUILD_FLAG_REVERSE   = (1 << 1),
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/* Mask Modifier */
 | 
			
		||||
@@ -542,15 +544,18 @@ typedef struct DecimateModifierData {
 | 
			
		||||
 | 
			
		||||
enum {
 | 
			
		||||
	MOD_DECIM_FLAG_INVERT_VGROUP       = (1 << 0),
 | 
			
		||||
	MOD_DECIM_FLAG_TRIANGULATE         = (1 << 1),  /* for collapse only. dont convert tri pairs back to quads */
 | 
			
		||||
	MOD_DECIM_FLAG_ALL_BOUNDARY_VERTS  = (1 << 2),  /* for dissolve only. collapse all verts between 2 faces */
 | 
			
		||||
	/** for collapse only. dont convert tri pairs back to quads */
 | 
			
		||||
	MOD_DECIM_FLAG_TRIANGULATE         = (1 << 1),
 | 
			
		||||
	/** for dissolve only. collapse all verts between 2 faces */
 | 
			
		||||
	MOD_DECIM_FLAG_ALL_BOUNDARY_VERTS  = (1 << 2),
 | 
			
		||||
	MOD_DECIM_FLAG_SYMMETRY            = (1 << 3),
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
enum {
 | 
			
		||||
	MOD_DECIM_MODE_COLLAPSE,
 | 
			
		||||
	MOD_DECIM_MODE_UNSUBDIV,
 | 
			
		||||
	MOD_DECIM_MODE_DISSOLVE,  /* called planar in the UI */
 | 
			
		||||
	/** called planar in the UI */
 | 
			
		||||
	MOD_DECIM_MODE_DISSOLVE,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct SmoothModifierData {
 | 
			
		||||
@@ -1285,8 +1290,10 @@ typedef struct WeightVGEditModifierData {
 | 
			
		||||
/* WeightVGEdit flags. */
 | 
			
		||||
enum {
 | 
			
		||||
	/* (1 << 0), (1 << 1) and (1 << 2) are free for future use! */
 | 
			
		||||
	MOD_WVG_EDIT_ADD2VG  = (1 << 3),  /* Add vertices with higher weight than threshold to vgroup. */
 | 
			
		||||
	MOD_WVG_EDIT_REMFVG  = (1 << 4),  /* Remove vertices with lower weight than threshold from vgroup. */
 | 
			
		||||
	/** Add vertices with higher weight than threshold to vgroup. */
 | 
			
		||||
	MOD_WVG_EDIT_ADD2VG  = (1 << 3),
 | 
			
		||||
	/** Remove vertices with lower weight than threshold from vgroup. */
 | 
			
		||||
	MOD_WVG_EDIT_REMFVG  = (1 << 4),
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct WeightVGMixModifierData {
 | 
			
		||||
@@ -1331,22 +1338,34 @@ typedef struct WeightVGMixModifierData {
 | 
			
		||||
 | 
			
		||||
/* How second vgroup's weights affect first ones. */
 | 
			
		||||
enum {
 | 
			
		||||
	MOD_WVG_MIX_SET = 1,  /* Second weights replace weights. */
 | 
			
		||||
	MOD_WVG_MIX_ADD = 2,  /* Second weights are added to weights. */
 | 
			
		||||
	MOD_WVG_MIX_SUB = 3,  /* Second weights are subtracted from weights. */
 | 
			
		||||
	MOD_WVG_MIX_MUL = 4,  /* Second weights are multiplied with weights. */
 | 
			
		||||
	MOD_WVG_MIX_DIV = 5,  /* Second weights divide weights. */
 | 
			
		||||
	MOD_WVG_MIX_DIF = 6,  /* Difference between second weights and weights. */
 | 
			
		||||
	MOD_WVG_MIX_AVG = 7,  /* Average of both weights. */
 | 
			
		||||
	/** Second weights replace weights. */
 | 
			
		||||
	MOD_WVG_MIX_SET = 1,
 | 
			
		||||
	/** Second weights are added to weights. */
 | 
			
		||||
	MOD_WVG_MIX_ADD = 2,
 | 
			
		||||
	/** Second weights are subtracted from weights. */
 | 
			
		||||
	MOD_WVG_MIX_SUB = 3,
 | 
			
		||||
	/** Second weights are multiplied with weights. */
 | 
			
		||||
	MOD_WVG_MIX_MUL = 4,
 | 
			
		||||
	/** Second weights divide weights. */
 | 
			
		||||
	MOD_WVG_MIX_DIV = 5,
 | 
			
		||||
	/** Difference between second weights and weights. */
 | 
			
		||||
	MOD_WVG_MIX_DIF = 6,
 | 
			
		||||
	/** Average of both weights. */
 | 
			
		||||
	MOD_WVG_MIX_AVG = 7,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/* What vertices to affect. */
 | 
			
		||||
enum {
 | 
			
		||||
	MOD_WVG_SET_ALL = 1,  /* Affect all vertices. */
 | 
			
		||||
	MOD_WVG_SET_A   = 2,  /* Affect only vertices in first vgroup. */
 | 
			
		||||
	MOD_WVG_SET_B   = 3,  /* Affect only vertices in second vgroup. */
 | 
			
		||||
	MOD_WVG_SET_OR  = 4,  /* Affect only vertices in one vgroup or the other. */
 | 
			
		||||
	MOD_WVG_SET_AND = 5,  /* Affect only vertices in both vgroups. */
 | 
			
		||||
	/** Affect all vertices. */
 | 
			
		||||
	MOD_WVG_SET_ALL = 1,
 | 
			
		||||
	/** Affect only vertices in first vgroup. */
 | 
			
		||||
	MOD_WVG_SET_A   = 2,
 | 
			
		||||
	/** Affect only vertices in second vgroup. */
 | 
			
		||||
	MOD_WVG_SET_B   = 3,
 | 
			
		||||
	/** Affect only vertices in one vgroup or the other. */
 | 
			
		||||
	MOD_WVG_SET_OR  = 4,
 | 
			
		||||
	/** Affect only vertices in both vgroups. */
 | 
			
		||||
	MOD_WVG_SET_AND = 5,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct WeightVGProximityModifierData {
 | 
			
		||||
 
 | 
			
		||||
@@ -40,12 +40,15 @@
 | 
			
		||||
#include "zlib.h" /* wm_read_exotic() */
 | 
			
		||||
 | 
			
		||||
#ifdef WIN32
 | 
			
		||||
#  include <windows.h> /* need to include windows.h so _WIN32_IE is defined  */
 | 
			
		||||
   /* Need to include windows.h so _WIN32_IE is defined. */
 | 
			
		||||
#  include <windows.h>
 | 
			
		||||
#  ifndef _WIN32_IE
 | 
			
		||||
#    define _WIN32_IE 0x0400 /* minimal requirements for SHGetSpecialFolderPath on MINGW MSVC has this defined already */
 | 
			
		||||
     /* Minimal requirements for SHGetSpecialFolderPath on MINGW MSVC has this defined already. */
 | 
			
		||||
#    define _WIN32_IE 0x0400
 | 
			
		||||
#  endif
 | 
			
		||||
#  include <shlobj.h>  /* for SHGetSpecialFolderPath, has to be done before BLI_winstuff
 | 
			
		||||
                        * because 'near' is disabled through BLI_windstuff */
 | 
			
		||||
   /* For SHGetSpecialFolderPath, has to be done before BLI_winstuff
 | 
			
		||||
    * because 'near' is disabled through BLI_windstuff */
 | 
			
		||||
#  include <shlobj.h>
 | 
			
		||||
#  include "BLI_winstuff.h"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user