KiCad PCB EDA Suite
Todo List
Member BBOX_3D::Intersect (const RAY &aRay, float *aOutHitt0, float *aOutHitt1) const
Why are we keeping both implementations of Intersect()?
Member BITMAP_STORE::GetBitmapScaled (BITMAPS aBitmapId, int aScaleFactor, int aHeight=-1)
this should be improved to take advantage of a number of different resolution PNGs stored in the asset archive, so we take the closest PNG and scale it rather than always starting with a low-resolution version.
Member BVH_PBRT::Intersect (const RAY &aRay, HITINFO &aHitInfo, unsigned int aAccNodeInfo) const override
This may be optimized
Member CMP_READER::Load (NETLIST *aNetlist)
At some point in the future, use the footprint field in the new s-expression netlist file to assign a footprint to a component instead of using a secondary (*.cmp) file.
Member CONTAINER_2D::GetIntersectingObjects (const BBOX_2D &aBBox, CONST_LIST_OBJECT2D &aOutList) const override
Determine what to do with this code.
Member CONTAINER_2D::IntersectAny (const RAYSEG2D &aSegRay) const override
Determine what what needs done because someone wrote TODO here.
Move this back into the tool rather than having the dialog do the deleting.
Member DIALOG_PLOT_SCHEMATIC::OnOutputDirectoryBrowseClicked (wxCommandEvent &event) override
Copy of DIALOG_PLOT::OnOutputDirectoryBrowseClicked in dialog_plot.cpp, maybe merge to a common method.
Member DIALOG_SIGNAL_LIST::TransferDataToWindow () override
it could include separated mag & phase for AC analysis
Member DIALOG_SIM_SETTINGS::evaluateDCControls (wxChoice *aDcSource, wxTextCtrl *aDcStart, wxTextCtrl *aDcStop, wxTextCtrl *aDcIncr)
for some reason it does not trigger the assigned SPICE_VALIDATOR,
Member DIALOG_SIM_SETTINGS::TransferDataToWindow () override
one day it could interpret the sim command and fill out appropriate fields.
Member empty (const wxTextEntryBase *aCtrl)
ngspice offers more types of analysis,
: Move them in GERBER_LAYER class.
Member IMAGE::EfxFilter (IMAGE *aInImg, IMAGE_FILTER aFilterType)

: This function can be optimized slipping it between the edges and do it without use the getpixel function.

This needs to write to a separate buffer.

Member KICAD_MANAGER_FRAME::ImportNonKiCadProject (const wxString &aWindowTitle, const wxString &aFilesWildcard, const wxString &aSchFileExtension, const wxString &aPcbFileExtension, int aSchFileType, int aPcbFileType)

Should we remove the newly created folder?

Should we remove copied schematic file and the newly created folder?

Member LAYER_ITEM::Intersect (const RAY &aRay, HITINFO &aHitInfo) const override
Either fix the code below or get rid of it.
Member NETLIST_EXPORTER_PSPICE_SIM::writeDirectives (OUTPUTFORMATTER *aFormatter, unsigned aCtl) const override
is it required to switch to lowercase
Member PCB_BASE_FRAME::FocusOnItem (BOARD_ITEM *aItem)
The Boost entropy exception does not exist prior to 1.67. Once the minimum Boost version is raise to 1.67 or greater, this version check can be removed.
Member PCB_EDIT_FRAME::ExportVRML_File (const wxString &aFullFileName, double aMMtoWRMLunit, bool aExport3DFiles, bool aUseRelativePaths, const wxString &a3D_Subdir, double aXRef, double aYRef)
Use mm inside the file. A general scale transform is applied to the whole file (1.0 to have the actual WRML unit im mm, 0.001 to have the actual WRML unit in meters.
Member PCB_PARSER::createOldLayerMapping (std::unordered_map< std::string, std::string > &aMap)
Remove this once we support custom layer names.
Member PCBNEW_SETTINGS::m_ShowPageLimits
Implement real auto zone filling (not just after zone properties are edited)
Member PinShapeComboBox::PinShapeComboBox (wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &value=wxEmptyString, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, int n=0, const wxString choices[]=nullptr, long style=0, const wxValidator &validator=wxDefaultValidator, const wxString &name=wxBitmapComboBoxNameStr)
C++11: replace with forwarder
Member PinTypeComboBox::PinTypeComboBox (wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &value=wxEmptyString, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, int n=0, const wxString choices[]=nullptr, long style=0, const wxValidator &validator=wxDefaultValidator, const wxString &name=wxBitmapComboBoxNameStr)
C++11: replace with forwarder
Member PNS::LINE_PLACER::FixRoute (const VECTOR2I &aP, ITEM *aEndItem, bool aForceFinish) override
Determine what to do if m_lastNode is a null pointer. I'm guessing return false but someone with more knowledge of the code will need to determine that..
Member PNS::LINK_HOLDER::ShowLinks () const
move outside header.
Member PNS::pointInside2 (const SHAPE_LINE_CHAIN &aL, const VECTOR2I &aP)
fixme: integrate into SHAPE_LINE_CHAIN, check corner cases against current PointInside implementation
Member RAY::IntersectSphere (const SFVEC3F &aCenter, float aRadius, float &aOutT0, float &aOutT1) const
: not tested
Member RENDER_3D_BASE::m_is_opengl_initialized
This must be reviewed in order to flag change types.
Member RENDER_3D_BASE::ReloadRequest ()
This must be reviewed to add flags to improve specific render.
Member RENDER_3D_RAYTRACE::renderAntiAliasPackets (const SFVEC3F *aBgColorY, const HITINFO_PACKET *aHitPck_X0Y0, const HITINFO_PACKET *aHitPck_AA_X1Y1, const RAY *aRayPck, SFVEC3F *aOutHitColor)
Either get rid of the if statement above or do something with the commented out code below.
Member ROUND_SEGMENT::IntersectP (const RAY &aRay, float aMaxDistance) const override
Either fix the code below or get rid of it.
Member s_dummyItem []
Replace this with an external file?
Probably should check for a valid date and time stamp even though it's not used.
Member SCH_SHEET_PATH::TestForRecursion (const wxString &aSrcFileName, const wxString &aDestFileName)
Store sheet file names with full path, either relative to project path or absolute path. The current design always assumes subsheet files are located in the project folder which may or may not be desirable.
Member SCHEMATIC_SETTINGS::m_NetFormatName
These should probably be moved to the "schematic.simulator" path.
Member SEARCH_STACK::LastVisitedPath (const wxString &aSubPathToSearch=wxEmptyString)
add more here if you can figure it out.
Member SHAPE_ARC::ConvertToPolyline (double aAccuracy=DefaultAccuracyForPCB(), double *aEffectiveAccuracy=nullptr) const
Unify KiCad internal units.
Member SHAPE_ARC::DefaultAccuracyForPCB ()
Unify KiCad internal units.
Member SIM_PLOT_FRAME::applyTuners ()
no ngspice hard coding
Member SIM_PLOT_FRAME::getXAxisType (SIM_TYPE aType) const
add NET_ADJUST_INCLUDE_PATHS & NET_ADJUST_PASSIVE_VALS checkboxes in the netlist export dialog.
This should be removed in future when KiCad supports a greater version of glm lib.
Member SYMBOL_EDIT_FRAME::m_SyncPinEdit
Determine why this member variable is public when all the rest are private and either make it private or document why it needs to be public.
Member TUNER_SLIDER::onSave (wxCommandEvent &event) override
it will crash when component is removed; completely remove m_symbol
Member UniformRandomHemisphereDirection ()
This is not correct because it is not a gaussian random.
Member WRL1GROUP::TranslateToSG (SGNODE *aParent, WRL1STATUS *sp) override
Determine if this is a bug or can actually happen parsing a VRML file. If it's a bug, this should be an assertion not a trace.
Member wxDEFINE_EVENT (BOARD_CHANGED, wxCommandEvent)
The Boost entropy exception does not exist prior to 1.67.