summaryrefslogtreecommitdiff
path: root/modules/csg
AgeCommit message (Collapse)Author
2022-04-06Fix CSG gizmos only working on root shapesEeli Reilin
2022-04-04Zero initialize all pointer class and struct membersRémi Verschelde
This prevents the pitfall of UB when checking if they have been assigned something valid by comparing to nullptr.
2022-03-28Modules: Don't build editor-specific classes in templatesRémi Verschelde
They're moved to an `editor` subfolder so that we can easily handle them separately.
2022-03-11Prevent non-smoothed face normals to participate to smoothed face normalsMythTitans
2022-03-11Fix normals computation at the 'seam' of smoothed torus shapeMythTitans
2022-03-10Discern between virtual and abstract class bindingsreduz
* Previous "virtual" classes (which can't be instantiated) are not corretly named "abstract". * Added a new "virtual" category for classes, they can't be instantiated from the editor, but can be inherited from script and extensions. * Converted a large amount of classes from "abstract" to "virtual" where it makes sense. Most classes that make sense have been converted. Missing: * Physics servers * VideoStream * Script* classes. which will go in a separate PR due to the complexity involved.
2022-03-09Revert #52647hoontee
2022-03-09Add SNAME macro optimization missed during rebasehoontee
2022-03-08Properly handle CSGShape parent and visibility updates, plus some refactoringhoontee
2022-02-16Fix normals computation at the 'seam' of smoothed sphere and cylinder shapesMythTitans
2022-02-16Convert _notification methods to switch - Chunk CJakob Bouchard
2022-02-15Merge pull request #35679 from Calinou/doc-add-xml-schemaRémi Verschelde
2022-02-15Add an XML schema for documentationHugo Locurcio
This makes it easier to spot syntax errors when editing the class reference. The schema is referenced locally so validation can still work offline. Each class XML's schema conformance is also checked on GitHub Actions.
2022-02-14Remove the EditorNode parameter from EditorPlugins create methodstrollodel
Remove EditorNode usage from the Navigation editor plugin.
2022-02-14Remove most EditorNode constructor parameters and fieldstrollodel
2022-02-12Improve compilation speed (forward declarations/includes cleanup)Hendrik Brucker
2022-02-07Document performance limitations with CSG nodes, link to tutorialHugo Locurcio
2022-02-01Improve the default size for 3D shapes (Box, Capsule, and Cylinder)Aaron Franke
2022-01-21Improve CSGPolygon3D documentationHugo Locurcio
- Describe why polygon triangulation usually fails in the error message.
2022-01-12Fix secondary handles in editor gizmosjfons
Primary and secondary handles are no longer differentiated by their ids, so a bool was added to tell them apart in all the handle-related methods. Includes a minor fix in CollisionPolygon3DEditor, unrelated to editor gizmos.
2022-01-07Fix selection of CSG objectsSaracenOne
2022-01-03Update copyright statements to 2022Rémi Verschelde
Happy new year to the wonderful Godot community!
2022-01-02Fix various typosluz paz
Found via ` codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,expct,fave,findn,gird,hist,inout,leapyear,lod,nd,numer,ois,ony,paket,seeked,sinc,switchs,te,uint,varn` Update editor/import/resource_importer_layered_texture.cpp Co-authored-by: Raul Santos <raulsntos@gmail.com> Update doc/classes/TileSetScenesCollectionSource.xml Co-authored-by: Raul Santos <raulsntos@gmail.com> Update scene/gui/graph_edit.cpp Co-authored-by: Raul Santos <raulsntos@gmail.com> Update scene/resources/animation.cpp Co-authored-by: Raul Santos <raulsntos@gmail.com> Update scene/resources/animation.cpp Co-authored-by: Raul Santos <raulsntos@gmail.com> Update scene/resources/animation.cpp Co-authored-by: Raul Santos <raulsntos@gmail.com> Update scene/gui/rich_text_label.cpp Co-authored-by: Raul Santos <raulsntos@gmail.com> Revert previously committed change
2021-11-23Rename `remove()` to `remove_at()` when removing by indexLightning_A
2021-11-15Replace Godot docs URL with `$DOCS_URL` in XML class referenceRémi Verschelde
2021-11-03Rename `PROPERTY_USAGE_NOEDITOR` to `PROPERTY_USAGE_NO_EDITOR`Hugo Locurcio
This is consistent with other constants that include `NO`, such as `PROPERTY_HINT_COLOR_NO_ALPHA`.
2021-10-28clang-format: Disable alignment of operands, too unreliableRémi Verschelde
Sets `AlignOperands` to `DontAlign`. `clang-format` developers seem to mostly care about space-based indentation and every other version of clang-format breaks the bad mismatch of tabs and spaces that it seems to use for operand alignment. So it's better without, so that it respects our two-tabs `ContinuationIndentWidth`.
2021-10-25Refactored Node3D rotation modesreduz
* Made the Basis euler orders indexed via enum. * Node3D has a new rotation_order property to choose Euler rotation order. * Node3D has also a rotation_mode property to choose between Euler, Quaternion and Basis Exposing these modes as well as the order makes Godot a lot friendlier for animators, which can choose the best way to interpolate rotations. The new *Basis* mode makes the (exposed) transform property obsolete, so it was removed (can still be accessed by code of course).
2021-10-12Fixed a typo in csg moduleM. Huri
2021-09-30Use range iterators for `Map`Lightning_A
2021-09-29Use functions defined in the their classes.Anilforextra
2021-09-27CSGPolygon fixes and features: Angle simplification, UV tiling distance, ↵jitspoe
interval type.
2021-09-27Fix Typo: Segement.Anilforextra
2021-09-21Merge pull request #52878 from AnilBK/add-get-centerRémi Verschelde
2021-09-21Add Get Center Method for Rect2/Rect2i and AABB.Anilforextra
2021-09-20Don't generate empty doc sections and reduce code duplicationAaron Franke
2021-09-14Don't update CSG Shape when not inside treeHaoyu Qiu
2021-08-12Merge pull request #51532 from nekomatata/layer-mask-accessorsRémi Verschelde
Uniformize layer names, script methods and documentation
2021-08-12Uniformize layer names, script methods and documentationPouleyKetchoupp
- Back to 1-based layer names to make it clearer in editor UI - Layer bit accessors are renamed to layer value and 1-based too - Uniform errors and documentation in render and physics - Fix a few remaining collision_layer used in place of collision_mask
2021-08-12Fix multiple issues with CSGPolygonMarcel Admiraal
2021-08-09Some work on double supportAaron Franke
2021-08-07Removes const from set functions on the GizmosAndreaCatania
2021-07-31Do nothing when dragging CSGBox handle perpendicular to the cameraHaoyu Qiu
2021-07-30doc: Use self-closing tags for `return` and `argument`Rémi Verschelde
For the time being we don't support writing a description for those, preferring having all details in the method's description. Using self-closing tags saves half the lines, and prevents contributors from thinking that they should write the argument or return documentation there.
2021-07-26Fix CSGSphere3D mesh creationAaron Franke
2021-07-23Use C++ iterators for Lists in many situationsAaron Franke
2021-07-23Node3D gizmo improvementsjfons
* Clean-up of node_3d_editor_plugin.{h,cpp}: removed unused code, fixed some bugs. * Moved node_3d_editor_gizmos.{h,cpp} to editor/plugins. * Added support for multiple gizmos per node. This means custom gizmos will no longer override the built-in ones and that multiple gizmos can be used in more complex nodes. * Added support for handle IDs. When adding handles to a gizmo, an ID can be specified for each one, making it easier to work with gizmos that have a variable number of handles. * Added support for subgizmos, selectable elements that can be transformed without needing a node of their own. By overriding _subgizmo_intersect_frustum() and/or _subgizmo_intersect_ray() gizmos can define which subgizmos should be selected on a region or click selection. Subgizmo transformations are applied using get/set/commit virtual methods, similar to how handles work.
2021-07-21Use is_equal_approx in more placesAaron Franke
2021-07-18Optimize StringName usagereduz
* Added a new macro SNAME() that constructs and caches a local stringname. * Subsequent usages use the cached version. * Since these use a global static variable, a second refcounter of static usages need to be kept for cleanup time. * Replaced all theme usages by this new macro. * Replace all signal emission usages by this new macro. * Replace all call_deferred usages by this new macro. This is part of ongoing work to optimize GUI and the editor.
2021-07-13Implement the ability to disable classesreduz
* This PR adds the ability to disable classes when building. * For now it's only possible to do this via command like: `scons disable_classes=RayCast2D,Area3D` * Eventually, a proper UI will be implemented to create a build config file to do this at large scale, as well as detect what is used in the project.