20OgIGroup::OgIGroup(Alembic::Ogawa::IArchive &
archive)
38std::vector<std::string> OgIGroup::groupNames()
const
45std::vector<std::string> OgIGroup::attributeNames()
const
52std::vector<std::string> OgIGroup::datasetNames()
const
59std::vector<std::string> OgIGroup::compressedDatasetNames()
const
66OgIGroup OgIGroup::findGroup(
const std::string &name)
const
79Alembic::Ogawa::IGroupPtr
80OgIGroup::findGroup(
const std::string &
path,
85 return Alembic::Ogawa::IGroupPtr();
88 if (
path.find(
"/") != std::string::npos) {
92 const std::string &name =
path;
98 if (!m_group->isChildGroup(
i)) {
102 Alembic::Ogawa::IGroupPtr group =
108 std::cout <<
"OgIGroup::findGroup() couldn't read subgroup name for "
109 <<
"group name: " << name << std::endl;
110 return Alembic::Ogawa::IGroupPtr();
116 std::cout <<
"OgIGroup::findGroup() couldn't read subgroup type for "
117 <<
"group name: " << name << std::endl;
118 return Alembic::Ogawa::IGroupPtr();
131 return Alembic::Ogawa::IGroupPtr();
136Alembic::Ogawa::IGroupPtr
137OgIGroup::recursiveFindGroup(
const std::string &
path,
142 return Alembic::Ogawa::IGroupPtr();
145 const size_t pos =
path.find(
"/");
146 const std::string name =
path.substr(0, pos);
153 if (!m_group->isChildGroup(
i)) {
157 Alembic::Ogawa::IGroupPtr group =
163 std::cout <<
"OgIGroup::recursiveFindGroup() couldn't read subgroup "
164 <<
"name for group name: " << name << std::endl;
165 return Alembic::Ogawa::IGroupPtr();
171 std::cout <<
"OgIGroup::recursiveFindGroup() couldn't read subgroup "
172 <<
"type for group name: " << name << std::endl;
173 return Alembic::Ogawa::IGroupPtr();
187 cout <<
"Couldn't find group: " << name << endl;
188 return Alembic::Ogawa::IGroupPtr();
193std::vector<std::string>
198 return std::vector<std::string>();
201 std::vector<std::string>
groups;
205 if (!m_group->isChildGroup(
i)) {
209 Alembic::Ogawa::IGroupPtr group =
234OgDataType OgIGroup::attributeType(
const std::string &name)
const
238 if (group && group->getNumChildren() > 2) {
247OgDataType OgIGroup::datasetType(
const std::string &name)
const
251 if (group && group->getNumChildren() > 2) {
260OgDataType OgIGroup::compressedDatasetType(
const std::string &name)
const
264 if (group && group->getNumChildren() > 2) {
280OgIGroup::OgIGroup(Alembic::Ogawa::IGroupPtr group)
289void OgIGroup::validate()
292 if (m_group && m_group->getNumChildren() < 2) {
297 if (m_group && (!m_group->isChildData(0) || !m_group->isChildData(1))) {
bool getGroupName(Alembic::Ogawa::IGroupPtr group, std::string &name)
OgDataType readDataType(Alembic::Ogawa::IGroupPtr group, const size_t idx)
bool readString(Alembic::Ogawa::IGroupPtr group, const size_t idx, std::string &s)
OgDataType
Enumerates the various uses for Ogawa-level groups.
#define FIELD3D_NAMESPACE_SOURCE_CLOSE