The reason why the StonesAndChips is "automatically" detected is because the sample loads two datasets (StonesAndChis and Tarmac) and then activates one of them at startup (in this cases it activates StonesAndChips).
However, if you have replaced this code:
if (!dataSetStonesAndChips->load("StonesAndChips.xml", QCAR::DataSet::STORAGE_APPRESOURCE))
{
LOG("Failed to load data set.");
return 0;
}
with this code:
if (!dataSetStonesAndChips->load("my_dataset.xml", QCAR::DataSet::STORAGE_APPRESOURCE))
{
LOG("Failed to load data set.");
return 0;
}
Then your dataSetStonesAndChips variable will actually represent your own dataset (and not the original StonesAndChips dataset), since you have passed the "my_dataset.xml" as argument to the load() function.
If you have done that, you don't need to change anything in the Java sample code.
If it does not work, it might mean that something goes wrong when loading your dataset (have you checked the Logs to see if any error is reported by QCAR ?)
You can rotate your teapot model, of course; you can do that by adding a matrix rotation in your renderFrame() method, like in this code snippet:
(see the rotatePoseMatrix function);
concerning your question about Markers: they don't have "Features" like Image Targets, as they are"predefined" images.