65d5ade426
Fix name of glew library Move simulate to new directory and refactor to use C++ conventions Wrap simulate in mujoco namespace fix namespaces, convert struct to class, use std::lock_guard use GetMutex to better handle destruction ordering rename mjSimulate to Simulate nit: space before public and typo move startup print use nullptr instead of NULL use GetInstance() to get simulate object convert init to default constructor
34 lines
1.2 KiB
Plaintext
34 lines
1.2 KiB
Plaintext
// Copyright 2022 DeepMind Technologies Limited
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
#include <sstream>
|
|
#include <string>
|
|
|
|
#include <Cocoa/Cocoa.h>
|
|
|
|
std::string getSavePath(const char* filename) {
|
|
NSSavePanel* panel = [NSSavePanel savePanel];
|
|
NSURL* userDocumentsDir = [NSFileManager.defaultManager URLsForDirectory:NSDocumentDirectory
|
|
inDomains:NSUserDomainMask].firstObject;
|
|
[panel setDirectoryURL:userDocumentsDir];
|
|
[panel setNameFieldStringValue:[NSString stringWithUTF8String:filename]];
|
|
if ([panel runModal] == NSModalResponseOK) {
|
|
std::ostringstream s;
|
|
s << [panel.URL.path cStringUsingEncoding:NSUTF8StringEncoding];
|
|
return s.str();
|
|
} else {
|
|
return "";
|
|
}
|
|
}
|