// the files with poitn clouds in a standard mesh format (e.g. stl)
val pcFiles : Seq[java.io.File] = ???
// read files as mesh and extract point set
val pointClouds = for (pcFile <- pcFiles) yield MeshIO.readMesh(pcFile).get.pointSet
// wrap pointSet in a Domain
val pointDomains = for (pointCloud <- pointClouds) yield UnstructuredPointsDomain3D(pointCloud)
// Build model
val reference = pointDomains.head
val dc = DataCollection.fromUnstructuredPointsDomainSequence(reference, pointDomains)
val pdm : PointDistributionModel[_3D, UnstructuredPointsDomain] = PointDistributionModel.createUsingPCA(dc)