-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AC Recorder #38
AC Recorder #38
Conversation
Hello @Petingo, as a general approach for the implementation I would start by creating a new space in the code base and work on a brand new layer: AIAC::ApplicationSpecification appSpec;
appSpec.Name = "augmented_carpentry"; // かくちょう_だいく
appSpec.WinWidth = 800;
appSpec.WinHeight = 480;
appSpec.IsResizable = false;
appSpec.VSync = true;
appSpec.WindowBackColor = ImVec4(1.00f, 1.00f, 1.00f, 1.00f);
std::unique_ptr<AIAC::Application> acApp_ptr = std::unique_ptr<AIAC::Application>(new AIAC::Application(appSpec));
acApp_ptr->GetWindow()->Init();
acApp_ptr->GetGORegistry()->Init();
acApp_ptr->PushLayer<AIAC::LayerCamera>();
acApp_ptr->PushLayer<AIAC::LayerCameraCalib>();
acApp_ptr->PushLayer<AIAC::LayerSlam>();
acApp_ptr->PushLayer<AIAC::LayerModel>();
acApp_ptr->PushLayer<AIAC::LayerToolhead>();
acApp_ptr->PushLayer<AIAC::LayerFeedback>();
acApp_ptr->PushLayer<AIAC::LayerUI>();
acApp_ptr->PushLayer<AIAC::LayerUtils>();
acApp_ptr->PushLayer<AIAC::LayerRecorder>(); // <------------- here the new layer
acApp_ptr->GetRenderer()->Init();
acApp_ptr->GetEventBus()->Init();
acApp_ptr->Run();
return 0; Let's keep the discussion here for the development of this feature! ⭐ |
Here's my draft about the overall design:
Content in Log FileTSlam
TToolOnly record whenever there is an event
|
Hello @Petingo thanks for the draft! Here are my general feedback:
On a separate note the UI should also be integrated as a floating window maybe (since we will use it very often). Let me know what you think! ✋ |
Hey @9and3,
I'll be in the lab on Wednesday. Hopefully, we can finalize the spec and start the implementation. |
Sounds good. It will just require to be well thought "when" to fire the event (e.g. when the pose is saved + change of tools as you mentioned before)
👍 |
src/AIAC/LayerLogRecorder.h
Outdated
/** | ||
* @brief log header information to the file | ||
*/ | ||
void m_LogHeader(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Petingo , why the hungarian notation m_
, it's not needed right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You're right. I forgot the naming convension. Updated in 2e66de1
After practical test here's the todos:
|
I think it's ready to merge now! |
No it's ok we can merge this, we'll open another PR for #43 |
* FIRST COMMIT * FEATURE: Init log recorder * FEATURE: SLAM pos logger * Feat: Add Ttool & Log Recording * WIP: ACIM Log, done init * Feat: Done ACIM log * Refactor: naming of function & improved the structure in util * Refactor: rename MatrixUtils.h * Feat: Add TTool Zenodo version, update ACIM trans matrix * Feat: log filename & acim trans mat fix * Feat: Done Log recorder * Feat: bigger button, copy dep files, add legends * WIP: Compress the folder, has bug now * Fix: bug in zip file's path is resolved * Refactor: update legend format * Fix: change the ttool pose matrix --------- Co-authored-by: Andrea Settimi <[email protected]>
Description 🤖
This is the PR for the development of the AC Recorder. The objective is to record the 3d fabrication in AC by logging all the informations so that it can be replayed later on Grasshopper.
Here's the features to track and record:
Type of feature/changes 🌲