Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2006-11-08 23:14:04 +0300
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2006-11-08 23:14:04 +0300
commit011f531359102a624126841b7ddf7beb94af1f7e (patch)
treebfb2b4c611f374bf3f2926629952e257ee4886ed /source/blender/blenkernel/BKE_booleanops.h
parentcea2b6752bc1f68b829cd24f7611263a98edc897 (diff)
Modified the way booleans preserve face data, and cleaned up some
duplicate code. Also removed redundant files from the bsp module, that where replaced by boolop last year, no sense in updating them for these changes. On the user level things should still work the same, this is only preparation work. Not counting the removed files, -1501 lines of code, not too bad :)
Diffstat (limited to 'source/blender/blenkernel/BKE_booleanops.h')
-rw-r--r--source/blender/blenkernel/BKE_booleanops.h101
1 files changed, 9 insertions, 92 deletions
diff --git a/source/blender/blenkernel/BKE_booleanops.h b/source/blender/blenkernel/BKE_booleanops.h
index ddc24457ef4..4e98c81c067 100644
--- a/source/blender/blenkernel/BKE_booleanops.h
+++ b/source/blender/blenkernel/BKE_booleanops.h
@@ -32,104 +32,21 @@
#ifndef BKE_BOOLEANOPS_H
#define BKE_BOOLEANOPS_H
-struct Mesh;
struct Object;
struct Base;
-struct CSG_FaceIteratorDescriptor;
-struct CSG_VertexIteratorDescriptor;
-struct CSG_MeshPropertyDescriptor;
+struct DerivedMesh;
-/**
- * Perform a boolean operation between 2 mesh objects and
- * add the result as a new mesh into blender data structures.
- * Assumes you have checked that the 2 objects are infact mesh
- * objects. Returns 1 on success and zero when it encountered
- * a problem. In the latter case no object is added and you should
- * report an appropriate error.
- */
-extern
- int
-NewBooleanMesh(
- struct Base * base,
- struct Base * base_select,
- int op_type
-);
+/* Performs a boolean between two mesh objects, it is assumed that both objects
+ are in fact a mesh object. On success returns 1 and creates a new mesh object
+ into blender data structures. On failure returns 0 and reports an error. */
+int NewBooleanMesh(struct Base *base, struct Base *base_select, int op);
-struct DispListMesh *NewBooleanMeshDLM(struct Object *ob, struct Object *ob_select, int int_op_type);
+/* Performs a boolean between two mesh objects, it is assumed that both objects
+ are in fact mesh object. On success returns a DerivedMesh. On failure
+ returns NULL and reports an error. */
struct DerivedMesh *NewBooleanDerivedMesh(struct Object *ob,
struct Object *ob_select,
- int int_op_type);
-
-/**
- * Functions exposed for use by BKE_booleanops_mesh
- */
-
-/**
- * Returns pointers to new mesh descriptors for
- * the given mesh. Make sure you call FreeMeshDescriptors
- * after calling this function.
- */
-
-extern
- void
-BuildMeshDescriptors(
- struct Object * ob,
- struct CSG_FaceIteratorDescriptor * face_it,
- struct CSG_VertexIteratorDescriptor * vertex_it
-);
-
-extern
- void
-FreeMeshDescriptors(
- struct CSG_FaceIteratorDescriptor * face_it,
- struct CSG_VertexIteratorDescriptor * vertex_it
-);
-
-/**
- * This little function adds a new mesh object
- * to the blender object list. It uses ob to duplicate
- * data as this seems to be easier than cerating a new one.
- * This new oject contains no faces nor vertices.
- */
-
-extern
- struct Object *
-AddNewBlenderMesh(
- struct Base *base
-);
-
-extern
- int
-InterpNoUserData(
- void *d1,
- void *d2,
- void *dnew,
- float epsilon
-);
-
-extern
- int
-InterpFaceVertexData(
- void *d1,
- void *d2,
- void *dnew,
- float epsilon
-);
-
-typedef struct {
- float uv[2];
- float color[4];
-} FaceVertexData;
-
-typedef struct {
- struct Material *material;
-
- /* assorted tface flags */
- void *tpage;
- char flag, transp, faceflag;
- short mode, tile;
-} FaceData;
-
+ int op);
#endif