csg 0.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Makefile +41 -0
- data/ext/Rakefile +6 -0
- data/lib/csg.rb +83 -0
- data/src/bsp.c +555 -0
- data/src/bsp.h +40 -0
- data/src/dbg.c +48 -0
- data/src/dbg.h +76 -0
- data/src/export.c +68 -0
- data/src/export.h +16 -0
- data/src/klist.h +121 -0
- data/src/poly.c +206 -0
- data/src/poly.h +45 -0
- data/src/stl.c +333 -0
- data/src/stl.h +60 -0
- data/src/vector.c +55 -0
- data/src/vector.h +35 -0
- metadata +80 -0
data/src/vector.h
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
#include <string.h>
|
2
|
+
#include <math.h>
|
3
|
+
|
4
|
+
#include "klist.h"
|
5
|
+
|
6
|
+
#ifndef __VECTOR_H
|
7
|
+
#define __VECTOR_H
|
8
|
+
|
9
|
+
// Wrappers
|
10
|
+
typedef float float3[3];
|
11
|
+
#define FLOAT3_INIT {0.0, 0.0, 0.0}
|
12
|
+
#define FLOAT3_INIT_MAX {INFINITY, INFINITY, INFINITY}
|
13
|
+
#define FLOAT3_INIT_MIN {-INFINITY, -INFINITY, -INFINITY}
|
14
|
+
#define FLOAT3_FORMAT(x) (x)[0], (x)[1], (x)[2]
|
15
|
+
#define f3X(x) (x)[0]
|
16
|
+
#define f3Y(x) (x)[1]
|
17
|
+
#define f3Z(x) (x)[2]
|
18
|
+
|
19
|
+
float3 *clone_f3(float3 f);
|
20
|
+
|
21
|
+
// Vector Updating operations
|
22
|
+
float3 *f3_normalize(float3 *v);
|
23
|
+
float3 *f3_scale(float3 *f, float c);
|
24
|
+
|
25
|
+
// Non-destructive
|
26
|
+
float3 *f3_cross(float3 *result, float3 v1, float3 v2);
|
27
|
+
float f3_dot(float3 v1, float3 v2);
|
28
|
+
float3 *f3_sub(float3 *result, float3 v1, float3 v2);
|
29
|
+
float3 *f3_interpolate(float3 *result, float3 start, float3 v, float alpha);
|
30
|
+
|
31
|
+
// Containers
|
32
|
+
#define mp_float3_free(x) free(kl_val(x))
|
33
|
+
KLIST_INIT(float3, float3*, mp_float3_free)
|
34
|
+
|
35
|
+
#endif
|
metadata
ADDED
@@ -0,0 +1,80 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: csg
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.0
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Yaroslav Shirokov
|
9
|
+
- Sean Bryant
|
10
|
+
autorequire:
|
11
|
+
bindir: bin
|
12
|
+
cert_chain: []
|
13
|
+
date: 2013-06-11 00:00:00.000000000 Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: ffi
|
17
|
+
requirement: !ruby/object:Gem::Requirement
|
18
|
+
none: false
|
19
|
+
requirements:
|
20
|
+
- - ! '>='
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '0'
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
none: false
|
27
|
+
requirements:
|
28
|
+
- - ! '>='
|
29
|
+
- !ruby/object:Gem::Version
|
30
|
+
version: '0'
|
31
|
+
description: A fast library for Constructive Solid Geometry
|
32
|
+
email:
|
33
|
+
- sshirokov@github.com
|
34
|
+
- sbryant@github.com
|
35
|
+
executables: []
|
36
|
+
extensions:
|
37
|
+
- ext/Rakefile
|
38
|
+
extra_rdoc_files: []
|
39
|
+
files:
|
40
|
+
- Makefile
|
41
|
+
- lib/csg.rb
|
42
|
+
- src/bsp.c
|
43
|
+
- src/dbg.c
|
44
|
+
- src/export.c
|
45
|
+
- src/poly.c
|
46
|
+
- src/stl.c
|
47
|
+
- src/vector.c
|
48
|
+
- src/bsp.h
|
49
|
+
- src/dbg.h
|
50
|
+
- src/export.h
|
51
|
+
- src/klist.h
|
52
|
+
- src/poly.h
|
53
|
+
- src/stl.h
|
54
|
+
- src/vector.h
|
55
|
+
- ext/Rakefile
|
56
|
+
homepage: https://github.com/sshirokov/csgtool/
|
57
|
+
licenses: []
|
58
|
+
post_install_message:
|
59
|
+
rdoc_options: []
|
60
|
+
require_paths:
|
61
|
+
- lib
|
62
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
63
|
+
none: false
|
64
|
+
requirements:
|
65
|
+
- - ! '>='
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: '0'
|
68
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
69
|
+
none: false
|
70
|
+
requirements:
|
71
|
+
- - ! '>='
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: '0'
|
74
|
+
requirements: []
|
75
|
+
rubyforge_project:
|
76
|
+
rubygems_version: 1.8.23
|
77
|
+
signing_key:
|
78
|
+
specification_version: 3
|
79
|
+
summary: A fast library for Constructive Solid Geometry
|
80
|
+
test_files: []
|