Age | Commit message (Collapse) | Author |
|
|
|
- When returning the number of items in a collection use BLI_*_len()
- Keep _size() for size in bytes.
- Keep _count() for data structures that don't store length
(hint this isn't a simple getter).
See P611 to apply instead of manually resolving conflicts.
|
|
|
|
also add reinsert function
|
|
Also add inline hashing function to measure different methods.
|
|
|
|
- remove static array used only for copying (use alloca on resize)
- set SMSTACKSIZE to one of the values in 'hashsizes' since the full available size was never used.
- ensure ~1.5x as many buckets as entries, was 3x which caused malloc's quite early on.
|
|
- BLI_smallhash_remove didnt decrement total entries.
- rename vars to match closer to ghash.
- smallhash_lookup returns NULL when no entry found.
- using a zero value key wasn't supported.
- no need to memset or calloc bucket arrays
- add asserts for unsupported conditions.
- added BLI_smallhash_lookup_p
|
|
also remove CDDM_Check, theres no need for it.
|
|
Instead of having ifdef __GNUC__ all over the headers
to use special compiler's hints use a special file where
all things like this are concentrated.
Makes code easier to follow and allows to manage special
attributes in more efficient way.
Thanks Campbell for review!
|
|
|
|
allocs).
gives approx 16% overall speedup to edgesplit modifier.
also reduce size of smallhash stack, was 521, which got doubled and was quite large on the stack. reduce to 64.
|
|
int from a key.
|
|
also use gcc attributes for smallhash header and some style edits to recent commit.
|
|
|
|
|
|
- use consistant header guards
- correct doxy comments
- remove ED_toolmode.h (unused)
|
|
|
|
|
|
snapping in knife tool.
|
|
|
|
* macro ABS has no effect with uintptr_t anyway and was throwing warning (promoted to error) -> commented out and marked with TODO
* removed two unused variables trhowing warning also promoted to error when compiling.
|
|
Edge slide now handles facedata (e.g. sliding within uv
space), including multires.
|
|
Bevel! Implemented bevel (from scratch). Man is
this tool way cooler then I thought it was. Note that
uv/vcol interpolation is working (loop level data) but
vert/edge data (like vgroups) likely still needs
work.
|
|
|
|
|
|
Implemented a new "super knife". Activate with k. Holding CTRL
will allow extended cutting ala old lines mode. Confirm with enter
and escape. You cannot cancel, btw, you can only confirm (and undo
later if you want). Hopefully I'll support undo within the tool soon.
* Supports cutting edges, into faces, etc. You can pretty much do whatever
you want. Will snap to vertices too.
* Note that if you cut into a face, it must be valid topologically when
you press enter to confirm.
* It's pretty and graphical :)
* You can only cut visible geometry.
* UVs/vcols are a little buggy still
Now, thou shalt all cease and desist all lack of motivation for
testing! No longer shall users put off testing until "it's cooler"!
:P
|