Esempio n. 1
0
MStatus sgBDataCmd_key::readData( MString nameFilePath )
{
	MStatus status;

	std::ifstream inFile( nameFilePath.asChar(), ios::binary );

	MString nameTarget;
	readString( nameTarget, inFile );

	MSelectionList selList;
	nameTarget.substitute( ":", "_" );
	MGlobal::getSelectionListByName( nameTarget, selList );
	MObject oTarget;
	selList.getDependNode( 0, oTarget );
	MFnDagNode fnNode( oTarget );

	m_objectKeyDataImport.oTargetNode = oTarget;
	readUnsignedInt( m_objectKeyDataImport.unit, inFile );

	readStringArray( m_objectKeyDataImport.namesAttribute, inFile );
	readDoubleArray( m_objectKeyDataImport.dArrTime, inFile );

	unsigned int lengthValues = m_objectKeyDataImport.namesAttribute.length() * m_objectKeyDataImport.dArrTime.length();
	m_objectKeyDataImport.dArrValuesArray.setLength( lengthValues );
	for( unsigned int j=0; j<lengthValues; j++ )
		inFile.read( ( char* )&m_objectKeyDataImport.dArrValuesArray[j], sizeof( double ) );

	inFile.close();

	return MS::kSuccess;
}
Esempio n. 2
0
  void MUX::onInit()
  {
    advertised_ = false;
    pnh_ = getPrivateNodeHandle();
    topics_ = readStringArray("topics", pnh_);
    if (topics_.size() < 1) {
      NODELET_FATAL("need to specify at least one topic in ~topics");
      return;
    }
    pub_selected_ = pnh_.advertise<std_msgs::String>("selected", 1, true);
    selected_topic_ = topics_[0];
    subscribeSelectedTopic();
    // in original mux node, it subscribes all the topics first, however
    // in our version, we never subscribe topic which are not selected.

    // service advertise: _select, select, add, list, delete
    ss_select_ = pnh_.advertiseService("select", &MUX::selectTopicCallback, this);
    ss_add_ = pnh_.advertiseService("add", &MUX::addTopicCallback, this);
    ss_list_ = pnh_.advertiseService("list", &MUX::listTopicCallback, this);
    ss_del_ = pnh_.advertiseService("delete", &MUX::deleteTopicCallback, this);
  }